adesso orange🍊Stellenangebote:
Software Engineer Trainee · Senior
| (Senior) Cloud Software Engineer BTP
(Senior) Consultant Technologie · Consultant ABAP
Werkstudent Softwareentwicklung · Fiori / UI5 · Consulting · Application Management
Generische Objektdienste (GOS)
Aus SAP Wiki ツ
Coding
FuBas, Klassen
Konvertierungen
BIN zu XSTRING
DATA lt_solixtab TYPE solix_tab.
DATA lv_docsize TYPE i.
DATA lv_xstring TYPE xstring.
CALL FUNCTION 'SO_SOLITAB_TO_SOLIXTAB'
EXPORTING
ip_solitab = it_object_content "TYPE SOFOLENTI1
IMPORTING
ep_solixtab = lt_solixtab.
lv_docsize = lines( lt_solixtab ) * 255.
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
EXPORTING
input_length = lv_docsize
IMPORTING
buffer = lv_xstring
TABLES
binary_tab = lt_solixtab
EXCEPTIONS
failed = 1
OTHERS = 2.
XSTRING zu BIN
DATA lt_content_x TYPE solix_tab.
DATA lv_solix_length TYPE i.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = iv_xstring
IMPORTING
output_length = lv_solix_length
TABLES
binary_tab = lt_content_x.
CALL FUNCTION 'SO_SOLIXTAB_TO_SOLITAB'
EXPORTING
ip_solixtab = lt_content_x
IMPORTING
ep_solitab = lt_content.
Inhalt Datei bekommen
CALL FUNCTION 'SO_DOCUMENT_READ_API1'
EXPORTING
document_id = iv_docno " TYPE SO_ENTRYID
IMPORTING
document_data = ls_docoument_data
TABLES
object_header = lt_object_header
object_content = lt_object_content
EXCEPTIONS
document_id_not_exist = 1
operation_no_authorization = 2
x_error = 3
OTHERS = 4.
"convert bin zu xstring
Anhänge bekommen
DATA(ls_lpor) = VALUE sibflporb( instid = *Business Objekt Key* "z.B. Belegnummer Kundenauftrag
typeid = *Business Objekt TYPE* "z.B. Kundenauftrag BUS2032
catid = 'BO' ).
DATA(lt_rel_options) = VALUE obl_t_relt( ( sign = 'I'
option = 'EQ'
low = 'ATTA' ) ).
cl_binary_relation=>read_links_of_binrels(
EXPORTING
is_object = ls_lpor
it_relation_options = lt_rel_options
ip_role = 'GOSAPPLOBJ'
IMPORTING
et_links = DATA(lt_links) ).
CATCH cx_obl_parameter_error
cx_obl_internal_error
cx_obl_model_error.
Anhänge kopieren
"Prüfen, ob die Quelle Anhänge hat, s. o.
DATA(ls_source) = VALUE sibflporb( instid = *Business Objekt Key* "z.B. Belegnummer Kundenauftrag
typeid = *Business Objekt TYPE* "z.B. Kundenauftrag BUS2032
catid = 'BO' ).
DATA(ls_target) = VALUE sibflporb( instid = *Business Objekt Key* "z.B. Belegnummer Kontrakt
typeid = *Business Objekt TYPE* "z.B. Kontrakt BUS2034
catid = 'BO' ).
cl_gos_service_tools=>copy_linked_objects( is_source = ls_source
is_target = ls_target
it_service_selection = VALUE tgos_sels( ( sign = 'I'
option = 'EQ'
low = 'PCATTA_CREA' )
)
).