[{ALLOW view All}] [{ALLOW edit Markus}] !Addresses |OY07|Address Type Attributes |T005A|Table Address Types HR_MAKE_ADDRESS exit_instance->modify_address ADDRESS_INTO_PRINTFORM CALL CUSTOMER-FUNCTION '001' !!Query [SAP Query|http://help.sap.com/saphelp_nw04/helpdata/en/d2/cb4759455611d189710000e8322d00/frameset.htm] |RPLMIT00|Mitarbeiterliste |SQVI|Create quick report |SQ01|SAP Query |SQ02|Infosets |SQ03|Benutzergruppen (Edit user groups) |r.RSAQR3TR|Transport and Up/Download queries / infosets / UserGroups Beim Import von Infosets kann es sein, dass Queries nicht aktualisiert werden können. Die jeweilige Query wird dann in der Form "Queryname / Benutzergruppe" angezeigt. Die Query muss dann ggf. gelöscht oder korrigiert werden und der Import wiederholt werden. Ansonsten ist das Infoset nicht vollständig (!), denn Codings fehlen z.B. |r.RSQ_ISET_MASS_OPERATIONS|Massenoperationen für InfoSets (Prüfen etc.) |t.AQ*|Query |t.AQLQCAT|SAP Query: Querykatalog |t.AQGQCAT|SAP Query: Querykatalog Wenn es einen Dump bei der Query-Ausführung gibt, steht im Dump {{{ Syntaxfehler im Programm "AQA0HRDIREKT====HRD_IT0001-2== " <BenGruppe=><Query-Name==> }}} |t.AQRDB|Generierte Query Reports Wenn der generierte Code zu einer Query einen Syntax-Fehler enthält, dann im Programmcode nach der Stelle suchen. Es kann sein, dass das im Dump angegebene Feld nur ein Zulieferer für ein weiteres ist, das dann den Fehler enthält. Daher auch im Umfeld des Fehlerpunktes im Code suchen!\\ Coding zu einem Feld gibt es nur im Infoset (nicht Query) und dort sieht man es mit Rechtsklick auf das Feld unter "Coding zum Feld" bzw. unter "Definition anzeigen..." bei "Coding vorhanden" oder über\\ Menü > Umfeld > Verzeichnisse > Zusatzfelder oder Coding |r.AQZZ/SAPQUERY/H2*|[Standardreports HCM|http://help.sap.com/saphelp_46b/helpdata/de/66/d7263763b8cc57e10000009b38f936/frameset.htm] |t.AQGDBBN Benutzergruppe anhand des Querynames ermitteln: TRDIR => Programmnamen like AQ* !Query search 1. Tabelle AQLQCAT > QNUM = *<Query-Name>* > Benutzergruppe => XYZ\\ 2. SQ01 > Kontextmenü Arbeitsbereich > "BenGruppe wechseln" > XYZ\\ 3. Auswahl <Query-Name> > "InfoSet Query"\\ !Ad-hoc Query |r.H00_QUERY_AD_HOC|AdHoc Query für InfoSets * [Note 1636230: query preview, fields truncated|https://service.sap.com/sap/support/notes/1636230], if all fields from Infoset exceed 65535 characters !! Zusatzfelder Es gibt im Standard verschiedene Standardzusatzfelder. Es können darüber hinaus aber auch eigene definiert werden.\\ Details stehen unter SPRO > Personalmanagement > Personalinformationssystem > HR-Einstellungen für SAP Query > Zusätze zur InfoSetpflege > Zusatzfelder definieren > Doku\\ Beispiel: |Feld SYHR_A_P0000_AF_HIREDATE|Eintrittsdatum als Zusatzfeld für IT0000 |Struktur P0000_AF|Hier ist HIREDATE definiert und somit dem IT0000 zugeodnet |FuBa RPAQ_GET_AF_0000|Hier werden die Zusatzfelder des IT0000 befüllt Generell gilt (xxxx=Infotyp): Feld SYHR_<Typ>_Pxxxx_AF_<feldname>, Struktur Pxxxx_AF, FuBa RPAQ_GET_AF_xxxx Das Eintrittsdatum wird hier übrigens über das Merkmal ENTRY ermittelt: |REENTRY|X|IT0000: Der letzte Eintritt in das Unternehmen ist das Eintrittsdatum. (Statuswechsel ausgetreten oder Rentner -> aktiv + Statuswechsel von inaktiv -> aktiv, falls zuvor mind. 1 ausgetretener Satz existiert) |PENSION|X|IT0000: Der Übergang in die Rente wird als Eintritt gewertet. (Statuswechsel -> Rentner) |JUPER|X|IT0001: Der Wechsel der juristischen Person wird als Eintritt gewertet. |EINDT| |IT0016: Das Ersteintrittsdatum soll als Eintrittsdatum gewertet werden. |KONDT| |IT0016: Das Eintrittsdatum in Konzern soll als Eintrittsdatum gewertet werden. |DATYP|01|IT0041: Die im Merkmal 'ENTRY' angegebene Datumsart soll als Eintrittsdatum gewertet werden. Für eigene Zusatzfelder gibt es noch |T770Q|Zusatz- und Tabellenfelder HR-Query |T770R|Tabellenzugriffe für HR-Query |T770AF|HR Query: Funktionsbausteine für Zusatzfelder des Kunden Als optionen Hinweis gibt es 0000562031. Als "Business Add-In" gibt es HRPAD00_ENTRY_LEAVE. !!Infosets see also [Reporting] |PM01|Infotyp anlegen |SQ01|Query Infoset SM30: |V_T582A|Infotyp Customizing, find the name of the subtype table here SE16: |T556A|Subtyp Table (KTART = Subtyp) |T591A|Infotyp / Subtyp Kombination (Nur solche ohne Merkmal) |T5R05|Art der Identifikation (?), auf MOLGA [How to define subtype in HR custom infotype? |https://forums.sdn.sap.com/message.jspa?messageID=7387923] !Standard and global area SQ01 > Menu > Umfeld > Arbeitsbereiche [Infosets help|http://help.sap.com/saphelp_sem320bw/helpdata/de/ed/084e3ce0f9fe3fe10000000a114084/frameset.htm] [Ad-hoc Infosets|http://help.sap.com/erp2005_ehp_04/helpdata/DE/d2/cb42f7455611d189710000e8322d00/frameset.htm] Docu see:\\ SPRO: Personalmanagement / Personalinformationssystem / HR-Einstellungen für SAP Query / Zusätze zur InfoSetpflege / Zusatzfelder definieren !Notes # do not forget to generate InfoSet ! # if you test it with ad-hoc query, reload query to activate changes ! !Adding a <field> (example KOABR) # Use SQ02, Open Infoset # Right click "Zusatzfelder" below table, add <field> in the infotype (fill "like" P0003-KOABR, otherwise it will not show) # click "Zusätze" button (Addition refer to the currently selected table left) # forget DATA declaration, the internal field name is available already in GET # enter coding "select into <field>" # in codeing: clear <field> before in each GET ! Infoset transportieren 1. SQ02 > Menü > Umfeld > Transporte \\ 2. Download into local file \\ 3. Upload from local file + "Überschreiben erlaubt" + (REPLACE oder MERGE) ! Coding im Infoset suchen siehe Menü > Umfeld > Verzeichnisse > ... !Layout Use in selection screen: {{{ form f4_layouts using i_restrict type salv_de_layout_restriction changing c_layout type disvariant-variant. data: ls_layout type salv_s_layout_info, ls_key type salv_s_layout_key. ls_key-report = sy-repid. ls_layout = cl_salv_layout_service=>f4_layouts( s_key = ls_key restrict = i_restrict ). c_layout = ls_layout-layout. endform. " F4_LAYOUTS }}} And use in ABAP: {{{ alv_layout = alv_table->get_layout( ). layout_key = sy-cprog. alv_layout->set_key( layout_key ). alv_layout->set_default( value = 'X' ). alv_layout->set_initial_layout( value = layout ). }}} |t.LTDX*|Strage of layouts |fuba.LT_DBDATA_READ_FROM_LTDX|Read layout from database (checking)