Changing sales order for a Credit blocked customer

Hi Gurus
One of the requirement of my client is that they create sales order for a customer and deliver the goods. During sales order creation billing block is automatically applied. This block is removed by a batch job after the goods are delivered. Sometime credit department block the customer using FD32 (KNKK-CRBLB). Now when the batch job is run to remove the billing block the system will not allow it for that order as the system calls VA02 during that batch job run. When you process a sales order using VA02 for a customer which is blocked (KNKK-CRBLB) then system will through error message V1 (154) i.e Order receipt/delivery not possible, credit customer blocked.
So the batch job will not be able to remove the billing block from the order. NOw the requiremetn is that how can I achieve this so that the billing block are removed by that batch job as the customers has already been delivered the goods (Any user exit?).
Thanks
KTK

Dear KTK,
Please check this sample program from other thread to find BADI and enhancement for a given transaction code. You just need to create a custom program in your system by cut and paste below codes.
REPORT ZTEST.
TABLES: TSTC,
TADIR,
MODSAPT,
MODACT,
TRDIR,
TFDIR,
ENLFDIR,
SXS_ATTRT ,
TSTCT.
DATA: JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
DATA: FIELD1(30).
DATA: V_DEVCLASS LIKE TADIR-DEVCLASS.
PARAMETERS: P_TCODE LIKE TSTC-TCODE,
P_PGMNA LIKE TSTC-PGMNA .
DATA: WA_TADIR TYPE TADIR.
START-OF-SELECTION.
IF NOT P_TCODE IS INITIAL.
SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
ELSEIF NOT P_PGMNA IS INITIAL.
TSTC-PGMNA = P_PGMNA.
ENDIF.
IF SY-SUBRC EQ 0.
SELECT SINGLE * FROM TADIR
WHERE PGMID = 'R3TR'
AND OBJECT = 'PROG'
AND OBJ_NAME = TSTC-PGMNA.
MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
IF SY-SUBRC NE 0.
SELECT SINGLE * FROM TRDIR
WHERE NAME = TSTC-PGMNA.
IF TRDIR-SUBC EQ 'F'.
SELECT SINGLE * FROM TFDIR
WHERE PNAME = TSTC-PGMNA.
SELECT SINGLE * FROM ENLFDIR
WHERE FUNCNAME = TFDIR-FUNCNAME.
SELECT SINGLE * FROM TADIR
WHERE PGMID = 'R3TR'
AND OBJECT = 'FUGR'
AND OBJ_NAME EQ ENLFDIR-AREA.
MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
ENDIF.
ENDIF.
SELECT * FROM TADIR INTO TABLE JTAB
WHERE PGMID = 'R3TR'
AND OBJECT in ('SMOD', 'SXSD')
AND DEVCLASS = V_DEVCLASS.
SELECT SINGLE * FROM TSTCT
WHERE SPRSL EQ SY-LANGU
AND TCODE EQ P_TCODE.
FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
WRITE:/(19) 'Transaction Code - ',
20(20) P_TCODE,
45(50) TSTCT-TTEXT.
SKIP.
IF NOT JTAB[] IS INITIAL.
WRITE:/(105) SY-ULINE.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
Sorting the internal Table
sort jtab by OBJECT.
data : wf_txt(60) type c,
wf_smod type i ,
wf_badi type i ,
wf_object2(30) type C.
clear : wf_smod, wf_badi , wf_object2.
Get the total SMOD.
LOOP AT JTAB into wa_tadir.
at first.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
WRITE:/1 SY-VLINE,
2 'Enhancement/ Business Add-in',
41 SY-VLINE ,
42 'Description',
105 SY-VLINE.
WRITE:/(105) SY-ULINE.
endat.
clear wf_txt.
at new object.
if wa_tadir-object = 'SMOD'.
wf_object2 = 'Enhancement' .
elseif wa_tadir-object = 'SXSD'.
wf_object2 = ' Business Add-in'.
endif.
FORMAT COLOR COL_GROUP INTENSIFIED ON.
WRITE:/1 SY-VLINE,
2 wf_object2,
105 SY-VLINE.
endat.
case wa_tadir-object.
when 'SMOD'.
wf_smod = wf_smod + 1.
SELECT SINGLE MODTEXT into wf_txt
FROM MODSAPT
WHERE SPRSL = SY-LANGU
AND NAME = wa_tadir-OBJ_NAME.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
when 'SXSD'.
For BADis
wf_badi = wf_badi + 1 .
select single TEXT into wf_txt
from SXS_ATTRT
where sprsl = sy-langu
and EXIT_NAME = wa_tadir-OBJ_NAME.
FORMAT COLOR COL_NORMAL INTENSIFIED ON.
endcase.
WRITE:/1 SY-VLINE,
2 wa_tadir-OBJ_NAME hotspot on,
41 SY-VLINE ,
42 wf_txt,
105 SY-VLINE.
AT END OF object.
write : /(105) sy-ULINE.
ENDAT.
ENDLOOP.
WRITE:/(105) SY-ULINE.
SKIP.
FORMAT COLOR COL_TOTAL INTENSIFIED ON.
WRITE:/ 'No.of Exits:' , wf_smod.
WRITE:/ 'No.of BADis:' , wf_badi.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(105) 'No userexits or BADis exist'.
ENDIF.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(105) 'Transaction does not exist'.
ENDIF.
AT LINE-SELECTION.
data : wf_object type tadir-object.
clear wf_object.
GET CURSOR FIELD FIELD1.
CHECK FIELD1(8) EQ 'WA_TADIR'.
read table jtab with key obj_name = sy-lisel+1(20).
move jtab-object to wf_object.
case wf_object.
when 'SMOD'.
SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
when 'SXSD'.
SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).
CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
ENDCASE.
Alternatively, you can do the following:
1. For what ever transaction u want the enhancement .. just check for the System-->status (menu) and find out the PROGRAM name....
2. Double click on to the program name and go inside the program (Abap editor)
3. Search for "Call Customer-function " ... and u'll get some search results .. If u get results then u have enhancement in that tcode .....
4. Then it actually calls a Function module .... copy the Function module name .... go to SE80 (object navigator) click on "Repository Information system" then Customer Enhancements .... Give the Function module name in the "Components" field and click Execute ....
ull get a list of Enhancements related to that Componene....
5. Choose which ever enhancement will suit ur business need ..
6. Go to CMOD... create a project .... assign ur enhancement ... and then code ur logic.... activate ur enhancement in CMOD ....... Ur Buisness need will be solved...
For a user exit......
Finding whether there is any User Exit or not for tcode VA42
1. For what ever transaction u want the user exit .. just check for the System-->status (menu) and find out the PROGRAM name.... ( The program name would be for our scenario "SAPMV45A" )
2. Double click on to the program name and go inside the program (Abap editor)
3. Search for the word "USEREXIT" .... u ll find all the user exits in the search result .. and find ur's then ...
Reward points if this helpful.
Regards,
Naveen.

Similar Messages

  • Which field shows me that, the Sales Order is under CREDIT BLOCK?

    Hi Experts,
    I know that, I can see weather the Sales Order is under Delivery block, by looking VBAK-LIFSK.
    So, pls. let me know that, weather the Sales Order is under CREDIT BLOCK? which field, table telle me?
    thanq

    Hi,
    Look for field CMGST in VBUK or
    CRBLB check box in KNKK table.
    thanks
    Dan

  • Sales order released from Credit block, but Purchase Requistion not created

    Hi,
    In third party sales scenario based on Scheduline Line category configuration purchase requistion creates when the order is created. If order is blocked for credit check then purchase requistion will not be created until order released from credit.
    Here my scenario is
    I have two users like A and B. When A releases the order from credit block by using transaction VKM1, Sales order releasing from credit and creating Purchase requistion. But, if the order is released by B, Sales order is getting released from credit but purchase requstion is not getting created.
    There is no issue from security side, we activated trace and analysed everything it is not security issue.
    Thanks and Regards
    Alokam Chandra Sekhar

    Hi Lakshmi,
    Thanks for reply. I followed your instructions, pls find my observations below.
    1. Can you check the below settings:
    What is the Credit status in the header status tab page of the sales order for the B's sales order?
    Is it "Not approved or releasedu201D If it is not approved, you might have released the sales order in VKM3, but you might not have saved it.
    Reply: We are releasing order through VKM1 and after releasing the order the status is showing as "Released".
    2. Did you use the same material for B's Sales order? If it a different material check the Item category and Schedule line category whether these are same with A's sales order.
    Reply: Both the orders has same information, like material Item category and scheduline category
    3. Check in the Schedule line tab page --> Procurement button whether you have maintain vendor, Source determination and Info record.
    Source list has been verified through ME03 transaction and vendor data maintained correctly.
    I really appreciate your time and efforts on this.. looking forward some more suggestions...
    Thanks and Regards
    Alokam Chandra Sekhar

  • Price Determination in Sales Order - for a Standard product & Custom Produc

    Hi,
    The price information is not displaying at Item Level in Sales Order for my own product 'SalesProduct1' and to my custom Sales order (z-TA). However, for standard products (Ht-1000, HT-1010, HT-1100 etc.) the price information is getting displayed successfully in z-TA.
    Also, in standard sales Order transaction (TA: Sales process). The price information is getting displayed successfully for both Standard products (Ht-1000, HT-1010, HT-1100 etc.) and for my own product (salesproduct1).
    Could you please help me out, how to rectify this problem ie. How can I diplay the price information for salesproduct1 in Z-TA?
    I tried to duplicate all the information that is there in standard products like category, sales Area etc, except PR00 price condition to my custom salesproduct1. However, in the place of PR00, I have added 0PR0 price condition and price information.
    Still the price information is not reflecting in my custom sales order (z-TA) for my salesproduct1.
    I also verifed that the SalesAreas are same for BP, Product org, Product price condition, Sales Order org info.
    I also checked that BP the Customer pricing procedure is Standard and for Doc. pricing procedure in Z-TA, TA is Standard.
    I also confirmed that in price procudere determination there exists a record that mathces with these salesarea, cust pp, doc. pp.

    Hi,
    in order to get closer to the root cause of the issue, you might want to make use of the pricing analysis / price trace. Set the user parameter PRC_TRACE = X via transaction SU3. Create an order in SAP GUI and navigate to the item level conditions tab. You should find the button accesses. In the accesses screen you will find details on condition determination and why it failed / succeeded.
    Best Regards,
    Michael

  • Change sales order - for reasons of cost management item cannot be deleted

    Hello Friends,
      When I try to delete a line item from sales order below error is fired and it doesnot allows to delete the items which has a WBS element.
      The function name is :BAPI_SALESORDER_CHANGE
      The error message is as below:
        ORDER_HEADER_IN has been processed successfully
        For reasons of cost management, item 001001 cannot be deleted
        Error in ITEM_IN 001001
        KONVKOM has been processed successfully
        KONVKOM has been processed successfully
        KONVKOM has been processed successfully
        KONVKOM has been processed successfully
        KONVKOM has been processed successfully
        The sales document is not yet complete: Edit data
        Sales document 0002012766 was not changed
      Information
        Sales order: 0002012766
        Item       : 001001
        WBS element: 2012766-001 The wbs status is "REL"  
      I found a similar problem on the forum but not really a solution other than giving a suggestion as "Enter a reason for rejection at item level.".
    but when I put the field ORDER_ITEM_IN-REASON_REJ = 'Z1' and ORDER_ITEM_INX-REASON_REJ = 'X',the error is still occurring.
      'Z1'-WBS has been cancelled
      How can I remove this item from the sales order?
      Please help me.....
    Best Regards,
    bluebaby

    Hello Lakshmipathi,
      thank you very much for answering my question..
      But how I get the file SAP note 14097,I was search this file in SDN and google but cannot find this file,if you know pls give me a hyperlink to view the content,thanks a lot.
    Best regards,
    Sophia

  • BOP results for credit blocked customer orders

    Hello all,
    We are facing an issue with BOP. We use the backorder processing in order to confirm the customer orders quantity. When the customer order has a credit block status, the quantity is apparently confirmed in result work list (immediately comes after BOP run) and using transaction /SAPAPO/BOP_RESULT, but in table /SAPAPO/BOPRESLT the fields CNFQTY and NEWCNFQTY are empty.
    Is it possible to change this behavior?
    Thaks in advance.
    Regards,
    Januario Faria

    Hello All,
    My issue was solved using the suggestion below posted on the thread - Sales Order Credit Status Block with Schedule Line ATP Confirmed Quantity .
    We modified this SD configuration and the quantity has to be confirmed to sales orders with credit block using BOP processing.
    Thanks to all.
    Bests regards.
    Januario Faria
    link:
    [Sales Order Credit Status Block with Schedule Line ATP Confirmed Quantity;
    Hi ,
    Please go to Transfer of requirements-->maintain requirements for transfer of requirements and remove the 101 Routine number so that when credit block on order still the quantity is confirmed to sales order. Because of this Routine it is removing the reservation while in credit block.
    I have tested it and it is working. I have similar scenario and it is working fine.
    Regards
    Raj

  • Block sales order for credit check

    I have created 1 sales order. I want to know how we can find out that sales order is in block.
    Also I want to block the sales order created for credit check . What I can do that sales order will go in block.

    Hi KiranCG,
    --For Credit check go to T.Code FD32 & give customer number & Credit control area & enter the credit limit amount & save it.
    -Do the Cutomization for Credit Management
    IMG-S&D-Basic Functions-Credit Management & Risk Management-Credit Management
    --Define Account groups
    --Assign the credit group (01) to your Sales Document type.
    --Define Automatic Credit Control (or) T.Code OVA8  Assign CCARisk categoryCredit group -01 (Sales Order) & also Fill the required fields
    --In Check column Check mark the Static or Dynamic credit & put reaction as C & check mark the status/block & save it.
    --Now raise the sale order in VA01 if the credit limit exceeds the system will through you an error message.But you can still save the document.
    --Go to T.Code  VKM1 to view the Blocked sales document & enter Credit Control Area,Credit account,Risk category& customer credit group.
    --.In order to release the Sales order document go to T.Code VKM3
    Let me know if your problem is solved
    Regards
    Pradeep

  • Free Goods Sales Order  for Charities with Credit Limit

    Dear All
    I have a scenario where POS (Point of Sales) has been implemented,the process of POS is ok,but the requirement of the client is they are giving some goods to charity,when ever a person comes with a special card (Issued by the company) the outlet will create a sales order for the same without any charges with a credit limit of 1000 SAR (saudi arabian riyal).
    Requirement
    1) Creation of sales order with delivering goods but without any charges.(should have effect in Stock)
    2)These charities is been treated as Customer with a credit limit of SAR 1000 (whenever the credit limit exceeds system should block the order)
    how this scenario can be mapped in SD,
    Thanks in advance
    Malik

    Dear Malik
    keep the process regular, which will help in blocking the charity customer when reached 1000 SAr at order level itself.
    As customer need to be shown that he  is not charged.
    you can work on changing the display of output determination .
    You can take the help of Ababer and display what ever client is asking for.
    I think  this may solve your query without disturbing you regular business process.
    Regards
    Pavan Kumar

  • How to block Sales order for any overdue balance.

    There is a need to change SAP setting for blocked Sales Order for due balance. Current SAP setting : block is valid only for "over due
    more than 30 days".
    The requirement is to block order based on any overdue amount say For example : if we have due balance for 1 day, than system should block the SO.
    In current credit management settings applied, there is Static check ( C ) and Oldest open item (C ) with Days oldest item =30 days. Kindly suggest as what changes should be made to reflect the desired changes. Also , help in confirming the thought that Static check itself considers the OPEN ITEMS, so if i am activating static check and REMOVES THE OLDEST OPEN ITEm, will it take any overdue amount automatically and block subsequently. To add to it kindly explain, what is the use of this additional check of Oldest Open Item ( with days = X days ) for creit mngt. can't we maintain it by Static check.
    Kindly guide as what to change in OVA8 to have this. All feeedbacks are highly appreciated.

    The user want to  block SO for 2 types below. System must block SO if the credit limit is exceeded and/or the payment is overdue
    Currently Two credit checks in OVA8
    1- Static check
    2- Payment Overdue check by Oldest Open Item ( 30 Days limit is set)
    But, now for SO block due to payment overdue need to be changed from 30 days overdue to any day overdue.
    How to acheive the above , Also kindly confirm that Static check contains OPEN ITEMS so Won't static check only carry the functionality to block SO for ANY DAY OVERDUE.
    Any feedback is highly appreciable.

  • Credit Check while creation of Sales Order for Item Category Purchase Req

    Hi Experts,
    We are creating Sales Order using an Order Type ABCD for a material 1000. While creating Sales Order, we use Item categories (ZOVD, ZOVB,ZOST,ZOVP and ZOBO).
    Credit Check settings are there at Order Type ABCD as well as all the Item Categories (ZOVD, ZOVB,ZOST,ZOVP and ZOBO). We are trying to test a scenario where a customer does not have enough credit limit while creating a sales order.
    When we create a sales order for Item Categories (ZOVD, ZOVB,ZOST,ZOVP), credit check fails because our customer does not have enough credit limit, so that Sales Order gets created and Delivery does not get created (This is what we want), then we go into VKM1 manually and relase the sales order and then if we go to VA02 and check the status of the Sales Order, it says sales order status is complete. My Sales Team is saying here also Purchase Requisition is getting created.
    When we create a sales order for Item category ZOBO, it is going into Purchase Requisition screen. Once we give another plant in the create purchase requisition screen and save it we are getting a message that cannot create Purchase Requisiton because of Credit Block.
    The settings were same for all the Item categories.
    1) What made difference to complete Purchase Requisition for Item Categories (ZOVD, ZOVB,ZOST,ZOVP) and not for Item Category ZOBO when my customer is not having enough credit Limit.
    2) Why Purchase Requisition screen is not coming for us when we create an Sales Order for Item Categories (ZOVD, ZOVB,ZOST,ZOVP). We only get Create Purchase Requisiton Screen for Item Category ZOBO.
    Thanks
    Rajanikanth

    Hi,
    None of the Item Categories has Create PO Automatically.
    Thanks
    Rajanikanth

  • Change Sales Order category to custom category in CIF

    Hi,
    I am CIFing Sales Order from ECC to APO, as per my requirement I need to change the category of sales order for which their are no confirmation.
    The Sales order get CIFed to APO in standard category BM and i want to change to custom category ZM
    I am using a user exit EXIT_SAPLCSLS_002 to read the Sales Order in ECC and changing the Sales Order ATP category to ZM but I am getting an error that it does not match correctly.
    but when I use a different standard category BL instead of ZM it works properly.
    Has anyone used an user exit to change the Sales Order Category, can you please help?
    Thanks & Regards,
    Sanjog Mishrikotkar

    Hi,
    Please try the user exit EXIT_/SAPAPO/SAPLCIF_SLS_001 in APO. This will be called while transferring the Sales orders to APO and the category will be changed. Also maintain the category you are changing in APO.
    Please look at the link for further details
    http://help.sap.com/saphelp_scm50/helpdata/EN/8f/987337e68ae526e10000009b38f889/content.htm
    Regards,
    Sireesh

  • Can't change quantity when copy from Sale order for Delivery

    Hi all!
    Can i use authorization for can't change quantity when copy from Sale order for Delivery.

    Tien,
    Approval will not work when you have mutiple rows of data.  You would have to work with SP Transaction Notification
    There has been threads before on the forum on the same topics.
    Block the Quantity in Sales Delivery
    Approval Procedure for chaning quantity in Delivery Document
    Suda

  • Hide Unit price from sales order for sales user without change authorization of document setting

    Hi all expert
    Hide Unit price from sales user without change authorization of document setting.
    I have also refer this note
    SAP B1 2005 Purchas Order,Good Reciept PO'S, and Unit Price Block
    but sill I had not getting my proper solution.
    I want to restrict sales person to see & access unit price. Here I know option of block authorization of document setting but its not good option because , In future ,if sales user wants to changes forms setting in future so Its become problematic for user. so I want do this without restrict user for form setting & only hide unit price table from him/her. also He/her able to access form setting with out unit price.
    Please reply
    Amol Nikam

    Hi Experts,
    Please Tell me Is there any option "Hide Unit price from sales order for sales user without change authorization of document setting"
    Regards/Thanks
    Amol

  • Sales order need to be blocked for delivery while creation

    Hi experts,
                    My requirement is to block sales orders for delivery, for the selected distribution channels, and for selected countries while creation itself, so for this I came to known that a program MV45AFZZ include, here in this at which form can I write code to block SO for delivery. and is it enough to put a reason in the field LIFSK in VBAK table to block SO for delivery.
    Thanks in advance
    Regards
    SriNivas........

    Hi,
    You can use form routine USEREXIT_SAVE_DOCUMENT_PREAPRE of user exit MV45AFZZ to update the delivery block.
    MOVE '10' to vbak-lifsk.                    "13 is the reason for block in header"
    MOVE '10' to xvbak-lifsk.                  "13 is the reason for block in header"
    Use following code to update delivery block at item level
    MOVE '10' to vbep-lifsp.                      "13 is the reason for block in item schedule line"
    MOVE '10' to xvbep-lifsp.                    "13 is the reason for block in item schedule line"
    Regards
    Vinod

  • Getting sales orders for a customer

    Hi Experts,
    Which FM should be used to get all sales orders for a particular customer in ECC 6.0
    Thanks and Regards
    Shilpi

    Hi,
    Not sure abt FM.
    Did u check VBAK table has a field KUNNR.
    You can put query on VBAK with condition Kunnr = 'Customer NO'.
    Please check if this serves ur purpose.
    Thanks
    Praveen

Maybe you are looking for

  • Background job failing

    Experts, We have background job running as part of the daily load. The user who created and scheduled the job, his account diabled recently and that makes job failing. I need to keep that job running but can not figure out how to change the user name

  • MR11 GR/IR clearing account error

    Hi All, I have an issue on Txn MR11 that my client is facing. There are certain PO's for which when the GR/IR acount clearance is done through Txn MR11 it gives an error as "Update error : one or more purchase orders were not updated". I have never w

  • Help in XML encoders

    Here is the complete code of my problem.I�ve CADEntityImpl.java extending AtreeObject.java .CadPointImpl.java extending CADEntityImpl.java.CADPointImpl.java uses few constants of IEntitiesConstants.java and Main Program is ServerPartImpl.java. Here i

  • Sample abap program to create XML files

    Hi friends, IS there is a sample abap program to create an XML file. regards kaushik

  • ClearInterval/ setInterval

    I am creating a picture viewer, this is the scripting for the onRelease thumnails that load a largePic. The first time you press the thumnail the setInterval doesn't start until the onLoadInit, however the next thumnail you press starts the setInterv