call function 'ARCHIV_CREATE_TABLE'
exporting
ar_object = lr_connection->ar_object
object_id = lr_connection->object_id
sap_object = lr_connection->sap_object
doc_type = conv toadd-doc_type( lr_connection->reserve )
filename = conv toaat-filename( lr_attachment->name )
document = lr_attachment->content
importing
outdoc = ls_outdoc
exceptions
error_archiv = 1
error_communicationtable = 2
error_connectiontable = 3
error_kernel = 4
error_parameter = 5
error_user_exit = 6
error_mandant = 7
blocked_by_policy = 8
others = 9.
Où lr_attachment->content
est une chaîne XSTRING d’un BASE64.
Étiquette : ABAP
-
-
- Visuellement, il est possible de souligner un champ par la case à cocher « resp. to double-click » mais c’est facultatif (c’est-à-dire que cela n’impactera pas le comportement du système lors d’un double-clic sur cette zone).
- Dans le PF-STATUS, assigner une commande utilisateur sur la touche F2 – ceci est par contre obligatoire !
Cela va rendre la plupart des champs réactifs au double-clic. - Dans un PAI, créer un module qui va contrôler la commande utilisateur (rappel : F2 !) ;
- utiliser l’instruction ABAP
get cursor field
pour obtenir le nom du champ qui a été double-cliqué.
-
- Copier le push button (i.e. titre de l’onglet) d’un onglet existant et le copier dans la « ligne de titre des onglets » ;
- ne pas oublier d’affecter une commande utilisateur (UCOMM) au push button ;
- le type de la fonction doit être « P » (local GUI func) ;
- Assigner également un nom de sous-écran dans le champ Référence ;
- Enfin, créer une zone de sous-écran dans l’onglet ;
- Son nom doit être celui renseigné dans la configuration du push button.
-
- Alimenter le customer include CI_AUFK (ce qui modifiera les structures AUFK et BAPI_TE_AUFK) ;
- créer un append de la structure IBAPI_CAUFVD_UPDATE avec les mêmes champs qu’à l’étape précédente, mais typés BAPIUPDATE ;
- implémenter la BAdI IBAPI_ALM_ORD_MODIFY (méthode IF_EX_IBAPI_ALM_ORD_MODIFY~MODIFY_INPUT_DATA) ;
- l’implémentation doit lire EXTENSION_IN (utiliser CL_ABAP_CONTAINER_UTILITIES=>READ_CONTAINER_C) puis modifier les données d’entête CT_HEADER_INT (identifiables par ORDERID) et CT_HEADER_INT_UP (avec ABAPI_TRUE pour les champs modifiés).
Attention !
Les champs spécifiques ne sont pas automatiquement remontés par la BAPI standard BAPI_ALM_ORDER_GET_DETAIL, ils doivent être lus directement dans AUFK (à ma connaissance).