Gérer la nomenclature CSAP_MAT_BOM_MAINTAIN

Question CSAP_MAT_BOM_MAINTAIN:

1. L'exception n'est pas nécessairement e. Par exemple, "L'unité de mesure ROL ne prend pas en charge les décimales décimales" est un W, mais il apparaît dans l'exception. La raison en est que l'erreur est déclenchée ailleurs, puis le programme continue de s'exécuter. Le message renvoyé est le dernier message qui peut être non-E. Par exemple, lors de la suppression d'un composant de nomenclature, le retour est I 29 862 article & & & est supprimé. Il ne s'agit pas d'un message d'erreur, mais si l'en-tête est modifié à ce moment, une erreur E 29 282 sera signalée lorsque l'en-tête le champ peut être modifié. L'en-tête peut uniquement être affiché. L'entrée est ignorée, ce qui indique que certains champs ne peuvent pas être modifiés et qu'une erreur est générée, mais le message renvoyé est un message de suppression du projet et ne sera finalement pas soumis. Vérifiez le code en tête

2. "L'en-tête de la nomenclature ne peut être affiché. L'entrée est ignorée", la nomenclature n'est pas modifiée, si un nouveau numéro de modification est transmis à ce moment, une erreur sera signalée. 29 031

 

démo

formulaire frm_bom_create

  utilisant

    pv_matnr

    pv_werks

    pv_stlan

    pv_stlal

    pv_zjdbs "ajouté par cuijunhu pour chanceux 20160811

    pv_stktx

  en changeant

    pv_rc

    pv_msg

  .

 

  données: o_stko type stko_api02.

  data: table de type lt_stpo de stpo_api02 avec ligne d'en-tête.

  data: table de type lt_item de stpo_api03 avec ligne d'en-tête.

  data: stko comme stko_api01.

  date: datav (10),

        stlalr type stalt, "numéro de nomenclature facultatif pour l'expansion

        stlalm type stalt. "Numéro de nomenclature facultatif pour modification

 

  effectuer cunit_output en changeant les mara-meins.

  stko-base_unit = mara-mine.

* stko-base_quan = '1'.

  stko-bom_status = '01'.

  stko-alt_text = pv_stktx.

  stko-zjdbs = pv_zjdbs. "ajouter par cuijunhu pour la chance 20160811

* stko-bom_text = pv_stktx.

 

  boucle à it_upload dans wa_upload

    où matnr = pv_matnr

      et werks = pv_werks.

    clear: lt_item.

 

    vérifiez que wa_upload-idnrk n'est pas initial.

 

    exécutez matn1_input en changeant wa_upload-idnrk.

*Chèque

 

    sélectionnez single * de marc

      où matnr = wa_upload-idnrk et

            werks = wa_upload-werks.

    si sy-subrc <> 0.

      shift wa_upload-idnrk gauche en supprimant '0'.

 

      pv_msg = 'Matériel' && wa_upload-idnrk && 'Pas dans l'usine' && wa_upload-werks && 'Maintenance'.

      pv_rc = 'E'.

 

      sortir.

    fin si.

 

    effectuer numcv_input en changeant wa_upload-posnr.

 

    lt_item-item_no = wa_upload-posnr.

    lt_item-item_categ = wa_upload-postp.

    lt_item-component = wa_upload-idnrk.

    lt_item-comp_qty = wa_upload-menge.

    lt_item-comp_unit = wa_upload-meins.

    lt_item-item_text1 = wa_upload-potx1.

    lt_item-item_text2 = wa_upload-potx2.

    lt_item-sortstring = wa_upload-sortf. "ajouté par cuijunhu pour chanceux 20160811

    lt_item-rel_engin = ''. "Signe: éléments liés au projet

    lt_item-rel_cost = 'X'. "Marque: éléments liés à la comptabilité analytique

    lt_item-rel_prod = 'X'. "Marque: articles liés à la production

    ajoutez lt_item.

  endloop.

 

 

  vérifiez pv_rc et non «E».

 

  écrire sy-datum dans datuv.

  appeler la fonction 'CSAP_MAT_BOM_MAINTAIN'

    exportation

      matériau = pv_matnr

      plante = pv_werks

      bom_usage = pv_stlan

      alternative = pv_stlal

      valid_from = datuv

      i_stko = stko

      fl_bom_create = 'X'

      fl_new_item = 'X'

      fl_complete = 'X'

      fl_commit_and_wait = 'X'

      fl_default_values ​​= 'X'

    importation

      o_stko = o_stko

    les tables

      t_stpo = lt_item

    des exceptions

      message_erreur = 1

      erreur = 2

      autres = 3.

 

  si sy-subrc <> 0.

    identifiant du message sy-msgid type sy-msgty numéro sy-msgno

               avec sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 dans pv_msg.

    pv_rc = 'E'.

  autre.

    pv_rc = 'S'.

  fin si.

 

 

 

endform. "FRM_BOM_CREATE

 

Je suppose que tu aimes

Origine blog.csdn.net/cylcylcylcylwo/article/details/114014954
conseillé
Classement