Hi,
leider hat mir die LTMOM nichts gebracht :(
Hab dann durch langwiereiges Suchen doch noch was gefunden. Ich hab das MigObjekt für die EkInfosätze mit Konditionen verwendet. Da sind 6 Tabellen drinnen, die es zu befüllen gilt:
General Data
> Tabelle EINA
General Text
> FuBa READ_TEXT mit II 'AT', OBJECTNAME gleich Infosatznummer und OBJECT 'EINA'
Purchasing Organization Data
> Tabelle EINE
Conditions
> Mit Lieferantennummer, Materialnummer, EKOrg, Werk+Infosatztyp aus EINA auf die A017 bzw mit LIFNR, MATNR, EKORG und ESOKZ ohne WERKS auf A018. Aus den zwei bekomm ich die Konditionssatznummer. Damit gehe ich auf die KONH+KONP und hol mir die Konditionen
Scales (Staffeln)
> Selbiges wie bei den Konditionen, nur hier schau ich auf das Feld KZBZG in der KONP ob es 'B' oder 'C' (für Werte oder Mengenstaffel sind) und hol mir die Staffelwerte aus der KONM bzw KONW.
Purchasing Organization Text
> Hier wieder READ_TEXT mit ID 'BT', Infosatznummer und OBJECT 'EINE'
Kleiner Hinweis: In den Tabellen ist (bei uns) die sprachenabhängige Einheit (ST für Stück) gespeichert. Hier einfach ein Lookup auf die T006 machen und im Feld ISOCODE findet sich die ISO Bezeichnung (ST => PCE)
Das ganze wurde dann noch mit cl_ehfnd_xlsx (inspiriert durch diesen Blog )in Excel geschrieben
data: filecontent type xstring.
data(xlsx_handling) = cl_ehfnd_xlsx=>get_instance( ).
data(xlsx_document) = xlsx_handling->create_doc( ).
data(xlsx_sheets) = xlsx_document->get_sheets( ).
data(lv_column) = 1.
data(lv_row) = 1.
data(first_xlsx_sheet) = xlsx_document->get_sheet_by_id( xlsx_sheets[ 1 ]-sheet_id ).
first_xlsx_sheet->change_sheet_name( 'First Sheet' ).
first_xlsx_sheet->set_cell_content(
iv_row = lv_row
iv_column = lv_column
iv_value = 'Blatt 1'
).
xlsx_sheet = xlsx_document->add_new_sheet( 'Second Sheet' ).
first_xlsx_sheet->set_cell_content(
iv_row = lv_row
iv_column = lv_column
iv_value = 'Blatt 2'
).
filecontent = xlsx_document->save( ).
cl_scp_change_db=>xstr_to_xtab(
exporting im_xstring = filecontent
importing ex_xtab = data(filecontentab)
).
filecontent = xlsx_document->save( ).
cl_scp_change_db=>xstr_to_xtab(
exporting im_xstring = filecontent
importing ex_xtab = data(filecontentab)
).
cl_gui_frontend_services=>gui_download(...)
Wie immer, ich hoffe jemand kann es gebrauchen ;D
Lg Radinator