Copy_I_To_O : Copie du buffer I dans le buffer O
Cette opération permet d'éviter de recopier les zones du buffer I vers les zones du buffer O une par une.
La structure des deux buffers doit être identique, même si les noms des zones sont différents.
Il est possible de regrouper des zones, mais il est nécessaire de prêter attention au type des zones, car c'est une copie d'octets qui est effectuée. Aucun transcodage ne sera effectué (Unicode vers EBCDIC sur AS/400 IBMi, ou numérique vers alpha).
Exemple :
Le buffer I comporte les zones suivantes :
I.CLE ZONED 5,0
I.DESCRIPTION CHAR 10)
I.DATYYYY CHAR 4
I.DATMM CHAR 2
I.DATDD CHAR 2
DCL O.KEYCODE ZONED 5,0 KEYORDER 1 NULL Same
DCL O.DESCRIPTION CHAR 10 NULL Same
DCL O.DATEMAJ CHAR 8 NULL Same
Option NULL_SUPPORT
If I.DESCRIPTION = Null Then Goto *Skip
Copy_I_To_O
Si le champ I.DATYYYY est nulle, alors le champ O.DATEMAJ l'est également.
Faites attention aux descriptions, elles doivent correspondre au traitement des nulls.