SD Payment card deletion in Sales order (Standard fucntion?)

Hi all,
I have this below scenario regarding updating of Payment Card in a sales document (Header level)
Requirement is to need to be able to add/delete a payment card when an cusotmer does it online.
An customized RFC(Z_RFC_1)is called form the outer application RFC is called which internally calls
Z_RFC_1 internally calls SD_SALES_HEADER_MAINTAIN.
Here in SD_SALES_HEADER_MAINTAIN is a structure FXZAKAKOM. Here I am passing
I have the following information to pass.
TYPZM     Means of payment for classifying payment card plan lines
CCINS          Payment cards: Card type
CCNUM     Payment cards: Card number
FKSAF     Billing status for the billing plan/invoice plan date
UPDKZ     Update indicator
When I send UPDKZ = u2018Iu2019 a payment card is created for that sales order.
Tables: FPLA, FPLT, FPLTC. (Tables for payment card).
Linked to VBAL-RPLNR
But when I wan to delete a card and I send u2018Du2019 in field FXZAKAKOM-UPDKZ (SD_SALES_HEADER_MAINTAIN). It does not work.
After debugging I found that I can delete the payment cards by using function BILLING_SCHEDULE_SAVE. But here the problem is the link in VBAK-RPLNR does not get updated. Hence I have to clear VBAK-RPLNR using a UPDATE statement. (Which is not advised).
Irrespective of the above scenario can any one let me know how a payment card can be deleted from a sales order using a standard function module.
Note: Currently I am using SD_SALES_HEADER_MAINTAIN.
Thanks in advance.
Kiran

Hi manam narayana
Either  you need to have a separate sales document type , but with the same sales document type OR ,it is not possible.So if you want to make it mandatory payment card field mandatory then first of all copy document type OR to ZOR . Now use transaction variants  using t.code SHD0 and there give document type ZOR and business object as BUS2032.and make the feild payment cards as required .
Now create the sales order using document type ZOR for the customers for whom payment cards should be mandatory.
But with the same document type i think it is not possible.Because if you make this field mandatory it will affect to all customers
Regards
Srinath

Similar Messages

  • Entering payment cards information in sales order

    Hi Folks,
    I am uploading the payment cards information in sales order using transaction VA02. I need to check if there is an already existing payment card in order to know the line number to enter the new card information. I know that FPLTC table has the information about the payment cards. How can I read the already existing lines and pass the new card information in the new line?
    Thanks,
    RAJ

    Tables: VBAK, FPLTC, FPLA.
    Hi,
    I am attaching my code. It would be really helpful for me if someone can tell me what should be the exact key to read the data. Somehow only one condition is true in this case.
    Data : Begin of itab occurs 0,
           VBELN(10) type C,  "Sales order Number
           AUTWR(15) type C,  "Maximum amount
           end of itab.
    DATA : Begin of itab1 occurs 0,
           FPLNR LIKE FPLTC-FPLNR,
           FPLTR LIKE FPLTC-FPLTR,
           ccnum like FPLTC-CCNUM,
           CCINS LIKE FPLTC-CCINS,
           END OF ITAB1.
    DATA : ITABH LIKE ITAB OCCURS 0 WITH HEADER LINE,
           ITABI LIKE ITAB OCCURS 0 WITH HEADER LINE.
    include bdcrecx1.
    Parameter : PATH(128) OBLIGATORY.
    start-of-selection.
      CALL FUNCTION 'WS_UPLOAD'
        EXPORTING
          FILENAME = PATH
          FILETYPE = 'DAT'
        TABLES
          DATA_TAB = itab.
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    SORT ITAB1.
    Select FPLTCFPLNR FPLTCFPLTR FPLTCCCNUM FPLTCCCINS into
    corresponding fields of itab1 from FPLTC INNER JOIN vbak on fpltc~Fplnr
    eq vbak~Rplnr.
       ENDSELECT.
    ITABH[] = ITAB[].
    ITABI[] = ITAB[].
    SORT ITABH.
    DELETE ADJACENT DUPLICATES FROM ITABH COMPARING vbeln.
      perform open_group.
      Loop at itabh.
        perform bdc_dynpro       using 'SAPMV45A' '0102'.
        perform bdc_field        using 'BDC_CURSOR'
                                        'VBAK-VBELN'.
        perform bdc_field        using 'BDC_OKCODE'
                                        '/00'.
        perform bdc_field        using 'VBAK-VBELN'
                                        ITABh-VBELN.
        perform bdc_dynpro       using 'SAPMV45A' '4001'.
        perform bdc_field        using 'BDC_OKCODE'
                                        '=KRPL'.
    Read table itab1 with key FPLNR = VBAK-RPLNR.
        perform bdc_dynpro       using 'SAPLV60F' '4001'.
        perform bdc_field        using 'BDC_OKCODE'
                                        '/00'.
        perform bdc_field        using 'BDC_CURSOR'
                                        'RV60F-CCBEG(03)'.
        perform bdc_field        using 'FPLTC-CCINS(03)'
                                        'CHCK'.
        perform bdc_field        using 'FPLTC-CCNUM(03)'
                                        '0000000000000001'.
        perform bdc_field        using 'CCDATE-EXDATBI(03)'
                                        '12/2009'.
        perform bdc_field        using 'RV60F-CCBEG(03)'
                                        'X'.
    if sy-subrc <> 0.
        perform bdc_dynpro       using 'SAPLV60F' '4001'.
        perform bdc_field        using 'BDC_OKCODE'
                                        '/00'.
        perform bdc_field        using 'BDC_CURSOR'
                                        'RV60F-FAKWR(02)'.
        perform bdc_field        using 'RV60F-FAKWR(02)'
                                       ITABh-AUTWR.
        perform bdc_dynpro       using 'SAPLV60F' '4001'.
        perform bdc_field        using 'BDC_OKCODE'
                                        '=CCMA'.
        perform bdc_field        using 'BDC_CURSOR'
                                        'FPLTC-CCINS(02)'.
        perform bdc_field        using 'FPLTD-SELKZ(02)'
                                        'X'.
    else.
        perform bdc_dynpro       using 'SAPLV60F' '4001'.
        perform bdc_field        using 'BDC_OKCODE'
                                        '/00'.
        perform bdc_field        using 'BDC_CURSOR'
                                        'RV60F-FAKWR(01)'.
        perform bdc_field        using 'RV60F-FAKWR(01)'
                                       ITABh-AUTWR.
        perform bdc_dynpro       using 'SAPLV60F' '4001'.
        perform bdc_field        using 'BDC_OKCODE'
                                        '=CCMA'.
        perform bdc_field        using 'BDC_CURSOR'
                                        'FPLTC-CCINS(01)'.
        perform bdc_field        using 'FPLTD-SELKZ(01)'
                                        'X'.
    endif.
        perform bdc_dynpro       using 'SAPLV60F' '0200'.
        perform bdc_field        using 'BDC_CURSOR'
                                        'FPLTC-AUTWR'.
        perform bdc_field        using 'BDC_OKCODE'
                                        '/00'.
        perform bdc_field        using 'FPLTC-AUNUM'
                                        '111'.
        perform bdc_field        using 'FPLTC-AUTWR'
                                        ITABh-AUTWR.
        perform bdc_dynpro       using 'SAPLV60F' '0200'.
        perform bdc_field        using 'BDC_CURSOR'
                                        'FPLTC-AUNUM'.
        perform bdc_field        using 'BDC_OKCODE'
                                        '=BACK'.
        perform bdc_dynpro       using 'SAPLV60F' '4001'.
        perform bdc_field        using 'BDC_OKCODE'
                                        '=S\BACK'.
       perform bdc_field        using 'BDC_CURSOR'
                                       'FPLTC-CCINS(05)'.
        perform bdc_dynpro       using 'SAPMV45A' '4001'.
        perform bdc_field        using 'BDC_OKCODE'
                                        '=SICH'.
        perform BDC_TRANSACTION  using 'VA02'.
      ENDLOOP.
      perform close_group.

  • Payment card mandatory in sales order

    Hi friends,
    I want to make payment card filed mandatory when we enter some group of customers in sales order. We normally use the same sales order type for all the customers & when some particular set of customers entered in sales order we need to make the payment card field as mandatory to fill out.
    Can we relate payment terms for making payment card mandatory in sales order or any userexit around.
    Thanks,
    Sree.Manam

    Hi manam narayana
    Either  you need to have a separate sales document type , but with the same sales document type OR ,it is not possible.So if you want to make it mandatory payment card field mandatory then first of all copy document type OR to ZOR . Now use transaction variants  using t.code SHD0 and there give document type ZOR and business object as BUS2032.and make the feild payment cards as required .
    Now create the sales order using document type ZOR for the customers for whom payment cards should be mandatory.
    But with the same document type i think it is not possible.Because if you make this field mandatory it will affect to all customers
    Regards
    Srinath

  • Custom screen for Payment card information in Sales Order

    Hi All,
    I want to know if its possible to develop a custom screen to accept multiple payment card information in Additional data tab and save it in normal payment card information at the time of saving sales order. This sounds little
    Nilesh

    Hi Nilesh,
    Please, see SAP Note 914603 - FAQ/Collective note for payment cards (Consulting/modif). Here you have the relevant notes related with this topic, so, in point 4, the note says:
    4. Payment cards in the order (with billing plan)
    - 914811 FAQ: Authorisation Problems - Why?
    - 915193 No authorization in the order
    - 313416 Installment plan payment with payment cards
    - 361790 No Authorization or only pre-authorization executed
    - 701569 Incorrect value to be authorized in the order
    I hope this helps you
    Regards
    Eduardo

  • Payment Card Info for sale order with BAPI_BUSPROCESSND_CREATEMULTI

    hi all
    i am trying to create a sales order using BAPI_BUSPROCESSND_CREATEMULTI
    and i am able to create an order successfully without any problem.
    the order is being generated. I am trying to input
    the payment card details to the BAPI_BUSPROCESSND_CREATEMULTI in
    PAYPLAN & PAYPLAN_DATE tables of the BAPI.
    I also used CRM_ORDER_READ report to see how these tables are being filled
    and based on that i had filled the payment card details in BAPI_BUSPROCESSND_CREATEMULTI
    but still ..i see the order being generated but dont see any payment card information
    being poulated in it.
    If you have any idea how i should fill the PAYPLAN, PAYPLAN_DATE
    tables and their respective input fields..please kindly help
    i tried all possible ways and could not get a solution
    Regards,
    Jessica Sam

    Hi Richard,
    So does this mean that i'd be able to capture all the data that is being determined after i make the call to this BAPI whithout saving it. Well.. I just want to simulate as it is happening in SAP.. i.e we enter the sold to party and hit 'enter' and all the data should be determined..and at this point i should read this data.
    Could you let me know if this could be done.
    Thanks,
    Sahil

  • Payment card details to Sales Order

    Hi,
    I have created the customer master and entered the payment card details. Could you please let me know how to get it copied to the sales order?
    Thanks & Regards,
    Keshini

    Hi
    See Note 914603 - FAQ/Collective note for payment cards (Consulting/modif). Be careful with legal requirements related with encryption of this data in sales documents and master data. (see 836079 FAQ: Credit card encryption and master data)
    Regards
    Eduardo
    Edited by: E_Hinojosa on Feb 15, 2011 10:10 AM

  • Update payment card details for sales order

    Hi all,
    Is there any function module or bapi which can be
    used to update the payment card details for a sales order
    The bapi_salesorder_creatfromdat2 is having the structure
    CCARD which takes in this details , but what I really want is to change the already created sales order.  The bapi for sales order change is not having any structure which allows passing this details.
    Please can anybody give some inputs on it.
    Regards,
    Shibu Mathew.

    Hi Anurag,
    Thank you very much for the answer..
    I too found it as i was digging through the
    BAPI_SALESORDER_CHANGE.
    One's again thanks for the solution.
    Regards,
    Shibu Mathew.

  • Interesting scenario- user facing error while deleting a sales order

    Hello All,
    I have one interesting scenario and want feedback from your side as soon as possible
    Scenario-
    One of my clients is facing a problem while deleting a sales order.
    the sales order he is trying to delete is the old order created in 2007.
    when i see the document flow the user has created the export order, then delivered it, invoiced and sent it to accounting, accounting document is also cleared. then he cancelled the invoice, reverse PGI and deleted the delivery. the status of the sales order system is showing is being processed. but please note in this case after reversing PGI and deleting a delivery the delivery document disappears from the document flow.
    document flow looks like this
    Order - 200004715                     Being processed
    invoice- 700005310                    completed
    accounting 700005311                 cleared
    Cancel Invoice 700005315            completed
    Accounting 700005316                 cleared
    Now, in 2008 user is trying to delete the sales order but he is unable to do the same. system is giving him message "unable to delete sales order because of subsequent document 70005310 (which is invoice number)"
    Can somebody please throw some light on this problem.
    Thanks in advance.

    Hi,
    As fas as I know, this is standard system behaviour. The reason - you have done PGI (which has created a material document as well as accounting doc) and invoiced & reversed (which again has created accounting documents & rversal documents). All these documents are referencing the sales order.
    If you delete sales order, sales order number gets deleted from VBAK /VBAP tables.
    Hence, in relational data base scenario (meanin SAP in this context), deletion of sales order after creation of subsequent documents is not feasible.
    Hope it clarifies the issue.
    Regards
    Murali

  • Do not change the payment term created a Sales Order with reference

    Hi Gurus,
    Do not change the payment term created a Sales Order with reference to a contract where the payer of the change in Sales Order.

    Hello ,
    As per my understanding , you do not want the payment terms to be changed even if the payer partner function is changed ,
    as standard sap redetermines the payment terms with change in partner function, you may use the exit
    USEREXIT_MOVE_FIELD_TO_VBAK- header level
    USEREXIT_MOVE_FIELD_TO_VBAP- Item level
    in this you could write a small code which will not change the payment terms when payer is redetermined
    hope this helps
    Thanks
    akasha

  • Add new payment term base on sales order contract date and shipment date

    Dear Sir/Madam,
    My company need to create new payment term base on sales order's contract date and shipment date.
    the first time is 30% made in T/T within 30days from contract signed date.
    the second time is 70% made in T/T before shipment.
    I don't know how to configuration this payment term base on that both date, who can tell me ,thanks very much!
    Best Regards
    Danny Zhang

    Hi,
    You have to define the PAYMENT TERMS as per days and Percentage.
    Define the Payment terms in the transaction OBB8 and assign this payment terms in the CUSTOMER MASTER and will be copied to the SALES ORDER from the customer master
    In the MATERIAL MASTER in the SALES ORG 1 view you have to check the field CAHS DISCOUNT In the Pricing procedure you can defin the CASH DISCOUNT condition type ( in standard there are two SKTV & SKTO)
    Now process the sales order and check
    regards,

  • WHILE DELETING A SALE ORDER GETTING A RUNTIME ERROR " Screen: Illegal message"

    Hi Experts,
    While deleting a sales order giving run time error.  PFB runtime error details.
    If you know any OSS message, please let m know. I tried, but there is no luck.
    Short text
        Screen: Illegal message
    What happened?
        The current screen processing action was terminated since a situation
        occurred where the application could not continue.
        This is probably due to an error in the ABAP program or in the current
        screen.
    What can you do?
        Note which actions and input led to the error.
        For further help in handling the problem, contact your SAP administrator.
        You can use the ABAP dump analysis transaction ST22 to view and manage
        termination messages, in particular for long term reference.
    Error analysis
        The program attempted to issue a " " message during "Exit Command" processing.
        This is an illegal operation.
        The program was terminated.
        Screen name.............. "SAPMV45A"
        Screen number............ 4001
    How to correct the error
        The program must be modified to correct the error.
        The modification must be made in "Exit Command" processing.
        If you cannot solve the problem yourself and want to send an error
        notification to SAP, include the following information:
        1. The description of the current problem (short dump)
           To save the description, choose "System->List->Save->Local File
        (Unconverted)".
        2. Corresponding system log
           Display the system log by calling transaction SM21.
           Restrict the time interval to 10 minutes before and five minutes
        after the short dump. Then choose "System->List->Save->Local File
        (Unconverted)".
    Source Code Extract
    Line  SourceCde
        1 *---------------------------------------------------------------------*
        2 *       FORM YVBEP_LESEN                                              *
        3 *---------------------------------------------------------------------*
        4 *       Lesen der Tabelle YVBEP (nicht sortiert)                      *
        5 *---------------------------------------------------------------------*
        6 FORM YVBEP_LESEN USING US_POSNR
        7                        US_ETENR
        8               CHANGING CH_TABIX.
        9
       10   YVBEP = SPACE.
       11   YVBEP-MANDT = VBAK-MANDT.
       12   YVBEP-VBELN = VBAK-VBELN.
       13   YVBEP-POSNR = US_POSNR.
       14   YVBEP-ETENR = US_ETENR.
       15   READ TABLE YVBEP.
       16   IF SY-SUBRC > 0.
       17     MESSAGE E506 WITH US_POSNR US_ETENR.
       18   ENDIF.
    >>>>>   CH_TABIX = SY-TABIX.
       20
       21 ENDFORM.
    Could you please help on this issue.
    Thanks
    Srinu

    Hi Srinu,
    it looks like you got the error message Schedule line &1 &2 is missing in table YVBEP while deleting the sales order.
    It seems, that there are no SAP notes regarding this issue. Do you have this issue with all orders or with a single order?
    If only a single order causes this issue, maybe something was wrong during an update.
    If you get this error for many orders, then custom code (modification, enhancement, user exit in MV45AFZZ, ...) may be the reason for it.
    If you have no custom code in module pool SAPMV45A, then contact SAP for this issue.
    Regards,
    Klaus

  • Restrict deletion of sales order line items

    Hi,
    I need to restrict deleting of sales order line item, I think we can use the user exit, MV45AFZB, USEREXIT_CHECK_XVBAP_FOR_DELE.
    But when i set the flag to 'X', even though it does not delete at tht instance when the sales order save is clicked again the line item gets deleted.
    ANy idea , to prevent that?
    Thanks
    Keshi

    Hi Keshi,
    That is the correct exit, we are using the same without any problem. Just set US_EXIT  = CHARX.
    Regards,
    John.

  • Unwanted printing of advanced payment when printing a sales order or pick

    It will be great to have an option of disabling the automatic printing of the advanced payment incoming payment when printing a sales order or invoice.
    The option is currently not available on the document printing options.

    No print sequence for sales order is setup.
    But even before on 2007 version, it was SAP default to print always the incoming payment of an advanced payment on every sales order or invoice.

  • How to delete a sales order which has already approved

    Hi,
    Could anyone please tell me how can we delete an already approved Sales order if no delivery doc is created and billing document has already been cancelled.
    When i try to delete the order it is not allowing to delete the sales order.
    It allows to put the reason for rejection in the sales order.
    It does not allow me to put the reason for rejection in the sales quotation.
    Please help and guide me.
    Thanks and Regards

    Hi,
    My query is regarding if the delivery is not there and the sales order is already approved and if the billing docu has been cancelled then why can not we delete the sales order?
    After that i need to put the reason for rejection in the sales quotation.
    So please guide me.
    Thanks and Regards
    Edited by: MPVash Vash on Jul 22, 2008 7:29 AM
    Edited by: MPVash Vash on Jul 22, 2008 7:29 AM

  • Payment methods in the sales order

    Hi Gurus,
    How can we indicate the payment methods in the sales order.
    Thanks for your quick answer.

    Hi,
    Payment method can be found in CMR>Company Code Data>Payment Transations tab: Here you can specify the payment method {incoming/outgoing}
    > List of the Payment Methods to be Considered
    List of payment methods which may be used in automatic payment transactions with this    customer/vendor if you do not specify a payment method in the item to be paid.
    If you do specify a particular payment method in the item to be paid, this specification has priority over the specifications in the master record. You may also specify payment methods in the item which are not listed in the master record.
    Hope this will help you in some extent.
    Hrishi

Maybe you are looking for