OReturns based on oDeliveryNotes

Hi, I'm try create a new oReturns based on oDeliveryNotes, but I have not had good results.
I work with DI-Server version 2007
I try with "AddObjectWithLines" operator
somebody has an example that works with DI-API ?
this is my code:
objectcode: oReturns
strXml:
<Documents>
<row>
<DocObjectCode>16</DocObjectCode>
<CardCode>86.740.500-3</CardCode>
<DocDueDate>20070706</DocDueDate>
</row>
</Documents>
strLinesXml:
<Document_Lines>
<row>
<ItemCode>Q3961A</ItemCode>
<BaseEntry>5594</BaseEntry>
<BaseLine>0</BaseLine>
<Basetype>15</Basetype>
</row>
</Document_Lines>
responses:
Property 'Basetype' of 'DocumentLine' is invalid
Internal error (-5002) occurred
when adding a oReturns WITHOUT making reference to a oDeliveryNotes, records successfully.
thanks in advance.
Jorge

<?xml version="1.0" encoding="utf-8" ?>
  <RetKey>247</RetKey>
EXCELENT Owen......
now work fine.
Thank you.
I need XML for Dummies
:o)=

Similar Messages

  • Add DeliveyNotes and Invoice based on Sales Order

    i can manage to do it but..the Sales Order is not closed..why?
    when i try to do it manual, when it make Delivery..the respective Sales Order is Closed..
    below some of my code
    For Each FirstScanRow As DataRow In _oDataset.Tables(FIRSTSCAN_TABLE).Rows
                With oDeliveryNotes
                    Select Case iBasedDoc
                        Case 0
                            iBasedDoc = FirstScanRow("DocNum")
                        Case Is = CInt(FirstScanRow("DocNum"))
                            .Lines.Add()
                            isAddedHeader = False
                    End Select
                    ' make an Invoice and Sales Delivery Order
                    If isAddedHeader Then
                        .DocDate = Today.Date
                        .DocDueDate = Today.Date
                        .TaxDate = Today.Date
                        .CardCode = FirstScanRow("CardCode")
                    End If
                    .Lines.BaseLine = i
                    .Lines.BaseType = SAPbobsCOM.BoObjectTypes.oOrders
                    .Lines.BaseEntry = iBasedDoc
                    '.Lines.ItemCode = FirstScanRow("ItemCode")
                    '.Lines.Quantity = FirstScanRow("Quantity")
                    '.Lines.VatGroup = "ZO"
                    If FirstScanRow("IsUseBatch") Then
                        ' Add Batch
                        For x = 0 To FirstScanRow("Quantity") - 1
                            .Lines.BatchNumbers.BatchNumber = FirstScanRow("Scanned")
                            .Lines.BatchNumbers.Quantity = 1
                            .Lines.BatchNumbers.SetCurrentLine(x)
                            If x < FirstScanRow("Quantity") - 1 Then .Lines.BatchNumbers.Add()
                        Next
                    Else
                        ' Add Serial
                        For x = 0 To FirstScanRow("Quantity") - 1
                            .Lines.SerialNumbers.SystemSerialNumber = FirstScanRow("SysSerial")
                            .Lines.SerialNumbers.InternalSerialNumber = FirstScanRow("Scanned")
                            .Lines.SerialNumbers.SetCurrentLine(x)
                            If x < FirstScanRow("Quantity") - 1 Then .Lines.SerialNumbers.Add()
                        Next
                    End If
                End With
                i = i + 1
            Next
    any insight?
    thanks,
    erick
    Edited by: Erick Widya on May 13, 2008 10:52 AM

    Not sure if this will help or not, however some things I have in similar code that does appear to close the order are:
    1. Set the Reference1 field in the "header" to the order the delivery is based on
                            delivery.Reference1 = salesOrderDocumentId.ToString();
    2. I had to add all the additional expenses to the delivery too - you may not have any, so this may be mute.
    Robin

  • Error  No: -2028, Err Desc: " - ", when executing oDeliveryNotes.Add

    Sample code
    Dim vSO As SAPbobsCOM.Documents
                Dim vSOLines As SAPbobsCOM.Document_Lines
                Dim vDeliveryLines As SAPbobsCOM.Document_Lines
                Dim vDelivery As SAPbobsCOM.Documents
                Dim lRetCode As Long
                Dim bLineAdded As Boolean
                Dim sDocEntry As String
                Try
                    vSO = pCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders)
                    'sDocEntry = GetDocEntry(sSO, DocumentTypes.SalesOrder)
                    sDocEntry = sSO
                    MsgBox(sSO)
                    If vSO.GetByKey(sDocEntry) Then
                        vDelivery = pCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDeliveryNotes)
                        vDelivery.CardCode = vSO.CardCode
                        vDelivery.NumAtCard = vSO.NumAtCard
                        ' vDelivery.SalesPersonCode = vSO.SalesPersonCode
                        ' vDelivery.DocType = SAPbobsCOM.BoDocumentTypes.dDocument_Items
                        vDelivery.DocumentSubType = SAPbobsCOM.BoDocumentSubType.bod_None
                        '  vDelivery.Address = "N/A" ' vSO.Address
                        ' vDelivery.ShipToCode = "PL100" 'vSO.ShipToCode"
                        ' vDelivery.Address2 = "Add 2" 'vSO.Address2
                        ' vDelivery.HandWritten = SAPbobsCOM.BoYesNoEnum.tNO
                        ' vDelivery.JournalMemo = "Delivery - C1000" '"Delivery - " & vSO.CardCode
                        ' vDelivery.Comments = "NONE" '"Based on SO " & sSO
                        'vDelivery.PaymentGroupCode = vSO.PaymentGroupCode
                        'vDelivery.DocObjectCode = SAPbobsCOM.BoObjectTypes.oDeliveryNotes
                        'vDelivery.DocObjectCodeEx = SAPbobsCOM.BoObjectTypes.oDeliveryNotes
                        ' vDelivery.DocDueDate = Now.Month & "/" & Now.Day & "/" & Now.Year
                        If vSO.UserFields.Fields.Item("U_CDIASNF").Value <> "" Then
                            vDelivery.UserFields.Fields.Item("U_CDIASNF").Value = vSO.UserFields.Fields.Item("U_CDIASNF").Value
                        End If
                        vSOLines = vSO.Lines
                        vDeliveryLines = vDelivery.Lines
                        bLineAdded = False
                        Dim iCnt As Integer
                        For iCnt = 0 To vSOLines.Count - 1
                            If bLineAdded = True Then
                                vDeliveryLines.Add()
                            Else
                                bLineAdded = True
                            End If
                            vSOLines.SetCurrentLine(iCnt)
                            vDeliveryLines.ItemCode = vSOLines.ItemCode
                            MsgBox(vSOLines.ItemCode) ' riade
                            vDeliveryLines.Quantity = vSOLines.Quantity
                            MsgBox(vSOLines.Quantity)
                            vDeliveryLines.Rate = 1 'vSOLines.Rate
                            MsgBox(vSOLines.Rate)
                            If vSO.Lines.UserFields.Fields.Item("U_CDIShkey").Value <> "" Then
                                vDeliveryLines.UserFields.Fields.Item("U_CDIShkey").Value = vSO.Lines.UserFields.Fields.Item("U_CDIShkey").Value
                            End If
                            If vSO.Lines.UserFields.Fields.Item("U_CDIPO").Value <> "" Then
                                vDeliveryLines.UserFields.Fields.Item("U_CDIPO").Value = vSO.Lines.UserFields.Fields.Item("U_CDIPO").Value
                            End If
                            vDeliveryLines.BaseType = SAPbobsCOM.BoAPARDocumentTypes.bodt_Order
                            vDeliveryLines.BaseEntry = sDocEntry
                            vDeliveryLines.BaseLine = iCnt
                        Next
                        Dim sErrRiade As String
                        <b>lRetCode = vDelivery.Add()</b>
                        sErrRiade = pCompany.GetLastErrorDescription 'add by Riade
                        If lRetCode <> 0 Then
                            Dim sErr As String
                            'pCompany.GetLastError(lRetCode, sErr) 'commented
                            sErr = pCompany.GetLastErrorDescription 'add by Riade
                            SBO_Application.MessageBox(sErr)
                            Return False
                            Exit Function
                        End If

    Hi,
    Maybe the problem is this line:
    vDeliveryLines.BaseLine = iCnt
    The baseline should be filled with the LineNum of the sales order line. The linenum of a line is NOT ALWAYS the same as the counter used in the setCurrentLine method! If you delete lines in an order the LineNum has gaps! So I suggest you use the following:
    vDeliveryLines.BaseLine = vSOLines.LineNum
    Hope this helps,
    Jacco Moolenaar.

  • Creation of a Goods receipt based on an ASN in SRM

    Hi,
    we want to implement a scenario like this (with SRM 7.0):
    1) Requester creates Catalog SC;
    2) SC gets approved;
    3) PO is created (at this moment we haven't chosen between classic or Extended Classic scenario)
    4) Supplier Connects to a Portal (not SRM) and post an ASN in SAP Backend
    5) (THIS IS THE QUESTION): is it possible for the Requester (who created the SC) to post (in SRM) a GR based on the ASN that it has been created in SAP? 
    Additional Info: in this scenario SUS system is not foreseen; only SRM (EBP) and SAP backend system
    Thanks
    Max

    Hi,
    we want to implement a scenario like this (with SRM 7.0):
    1) Requester creates Catalog SC;
    2) SC gets approved;
    3) PO is created (at this moment we haven't chosen between classic or Extended Classic scenario)
    4) Supplier Connects to a Portal (not SRM) and post an ASN in SAP Backend
    5) (THIS IS THE QUESTION): is it possible for the Requester (who created the SC) to post (in SRM) a GR based on the ASN that it has been created in SAP? 
    Additional Info: in this scenario SUS system is not foreseen; only SRM (EBP) and SAP backend system
    Thanks
    Max

  • SSO to Microsoft based application

    Hi,
    I want to enabler SSO from Portal to an ASP application running on IIS 5.0 and Win2k.
    I have gone through the document "Using SAP Logon Tickets for SSO to Microsoft based web applications.
    I taken the Web Server Filter approach to enable SSO, have downloaded SAPSSOEXT.dll file and added it as a ISAPI filter in IIS server.
    Now the doc says "The name of the hhtp header variable can be specified using the parameter remote_user_alias in the filter configuration file".
    I have no clue how to go about doing this.
    If anyone has done something like this before, please help.
    Also please let me know if I am moving in the right direction.
    Thanks in advance.
    Vivek

    Have a look at this document: https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/def/enabling single sign-on for asp.net applications in enterprise portal 6.article
    It describes it in more detail (we used it a bit different, and sent the authentication string as a parameter to a .net webservice and programatically verified it).
    Cheers
    Dagfinn

  • Issue with SharePoint foundation 2010 to use Claims Based Auth with Certificate authentication method with ADFS 2.0

    I would love some help with this issue.  I have configured my SharePoint foundation 2010 site to use Claims Based Auth with Certificate authentication method with ADFS 2.0  I have a test account set up with lab.acme.com to use the ACS.
    When I log into my site using Windows Auth, everything is great.  However when I log in and select my ACS token issuer, I get sent, to the logon page of the ADFS, after selected the ADFS method. My browser prompt me which Certificate identity I want
    to use to log in   and after 3-5 second
     and return me the logon page with error message “Authentication failed” 
    I base my setup on the technet article
    http://blogs.technet.com/b/speschka/archive/2010/07/30/configuring-sharepoint-2010-and-adfs-v2-end-to-end.aspx
    I validated than all my certificate are valid and able to retrieve the crl
    I got in eventlog id 300
    The Federation Service failed to issue a token as a result of an error during processing of the WS-Trust request.
    Request type: http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue
    Additional Data
    Exception details:
    Microsoft.IdentityModel.SecurityTokenService.FailedAuthenticationException: MSIS3019: Authentication failed. ---> System.IdentityModel.Tokens.SecurityTokenValidationException:
    ID4070: The X.509 certificate 'CN=Me, OU=People, O=Acme., C=COM' chain building failed. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. 'A certification chain processed
    correctly, but one of the CA certificates is not trusted by the policy provider.
    at Microsoft.IdentityModel.X509CertificateChain.Build(X509Certificate2 certificate)
    at Microsoft.IdentityModel.Tokens.X509NTAuthChainTrustValidator.Validate(X509Certificate2 certificate)
    at Microsoft.IdentityModel.Tokens.X509SecurityTokenHandler.ValidateToken(SecurityToken token)
    at Microsoft.IdentityModel.Tokens.SecurityTokenElement.GetSubject()
    at Microsoft.IdentityServer.Service.SecurityTokenService.MSISSecurityTokenService.GetOnBehalfOfPrincipal(RequestSecurityToken request, IClaimsPrincipal callerPrincipal)
    --- End of inner exception stack trace ---
    at Microsoft.IdentityServer.Service.SecurityTokenService.MSISSecurityTokenService.GetOnBehalfOfPrincipal(RequestSecurityToken request, IClaimsPrincipal callerPrincipal)
    at Microsoft.IdentityServer.Service.SecurityTokenService.MSISSecurityTokenService.BeginGetScope(IClaimsPrincipal principal, RequestSecurityToken request, AsyncCallback callback, Object state)
    at Microsoft.IdentityModel.SecurityTokenService.SecurityTokenService.BeginIssue(IClaimsPrincipal principal, RequestSecurityToken request, AsyncCallback callback, Object state)
    at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.DispatchRequestAsyncResult..ctor(DispatchContext dispatchContext, AsyncCallback asyncCallback, Object asyncState)
    at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.BeginDispatchRequest(DispatchContext dispatchContext, AsyncCallback asyncCallback, Object asyncState)
    at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.ProcessCoreAsyncResult..ctor(WSTrustServiceContract contract, DispatchContext dispatchContext, MessageVersion messageVersion, WSTrustResponseSerializer responseSerializer, WSTrustSerializationContext
    serializationContext, AsyncCallback asyncCallback, Object asyncState)
    at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.BeginProcessCore(Message requestMessage, WSTrustRequestSerializer requestSerializer, WSTrustResponseSerializer responseSerializer, String requestAction, String responseAction, String
    trustNamespace, AsyncCallback callback, Object state)
    System.IdentityModel.Tokens.SecurityTokenValidationException: ID4070: The X.509 certificate 'CN=Me, OU=People, O=acme., C=com' chain building
    failed. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. 'A certification chain processed correctly, but one of the CA certificates is not trusted by the policy provider.
    at Microsoft.IdentityModel.X509CertificateChain.Build(X509Certificate2 certificate)
    at Microsoft.IdentityModel.Tokens.X509NTAuthChainTrustValidator.Validate(X509Certificate2 certificate)
    at Microsoft.IdentityModel.Tokens.X509SecurityTokenHandler.ValidateToken(SecurityToken token)
    at Microsoft.IdentityModel.Tokens.SecurityTokenElement.GetSubject()
    at Microsoft.IdentityServer.Service.SecurityTokenService.MSISSecurityTokenService.GetOnBehalfOfPrincipal(RequestSecurityToken request, IClaimsPrincipal callerPrincipal)
    thx
    Stef71

    This is perfectly correct on my case I was not adding the root properly you must add the CA and the ADFS as well, which is twice you can see below my results.
    on my case was :
    PS C:\Users\administrator.domain> $root = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\
    cer\SP2K10\ad0001.cer")
    PS C:\Users\administrator.domain> New-SPTrustedRootAuthority -Name "domain.ad0001" -Certificate $root
    Certificate                 : [Subject]
                                    CN=domain.AD0001CA, DC=domain, DC=com
                                  [Issuer]
                                    CN=domain.AD0001CA, DC=portal, DC=com
                                  [Serial Number]
                                    blablabla
                                  [Not Before]
                                    22/07/2014 11:32:05
                                  [Not After]
                                    22/07/2024 11:42:00
                                  [Thumbprint]
                                    blablabla
    Name                        : domain.ad0001
    TypeName                    : Microsoft.SharePoint.Administration.SPTrustedRootAuthority
    DisplayName                 : domain.ad0001
    Id                          : blablabla
    Status                      : Online
    Parent                      : SPTrustedRootAuthorityManager
    Version                     : 17164
    Properties                  : {}
    Farm                        : SPFarm Name=SharePoint_Config
    UpgradedPersistedProperties : {}
    PS C:\Users\administrator.domain> $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\
    cer\SP2K10\ADFS_Signing.cer")
    PS C:\Users\administrator.domain> New-SPTrustedRootAuthority -Name "Token Signing Cert" -Certificate $cert
    Certificate                 : [Subject]
                                    CN=ADFS Signing - adfs.domain
                                  [Issuer]
                                    CN=ADFS Signing - adfs.domain
                                  [Serial Number]
                                    blablabla
                                  [Not Before]
                                    23/07/2014 07:14:03
                                  [Not After]
                                    23/07/2015 07:14:03
                                  [Thumbprint]
                                    blablabla
    Name                        : Token Signing Cert
    TypeName                    : Microsoft.SharePoint.Administration.SPTrustedRootAuthority
    DisplayName                 : Token Signing Cert
    Id                          : blablabla
    Status                      : Online
    Parent                      : SPTrustedRootAuthorityManager
    Version                     : 17184
    Properties                  : {}
    Farm                        : SPFarm Name=SharePoint_Config
    UpgradedPersistedProperties : {}
    PS C:\Users\administrator.PORTAL>

  • Discoverer Report parameter based on subquery

    Hi Guys,
    I have following query which i need to convert into discoverer report
    select hpah.EMPLOYEE_NUMBER,hpah.FIRST_NAME,hpah.LAST_NAME,hpah.PERSON_NAME,
    --hpah.JOB_NAME,hpah.ASSIGNMENT_ORGANIZATION_NAME,
    hpah.ASSIGNMENT_TYPE,hpah.USER_ASSIGNMENT_STATUS,
    SUBSTR(pj.name, 1, instr(pj.name, '.', 1, 2) -1) job_code,
    SUBSTR(pj.name, instr(pj.name, '.', 1, 2) + 1) job_title,
    (select haou.ATTRIBUTE1 from hr_all_organization_units haou
    where haou.ORGANIZATION_ID = hpah.ASSIGNMENT_ORGANIZATION_ID ) Function,
    (select haou.ATTRIBUTE2 from hr_all_organization_units haou
    where haou.ORGANIZATION_ID = hpah.ASSIGNMENT_ORGANIZATION_ID ) org_desc,
    SUBSTR(hpah.ASSIGNMENT_ORGANIZATION_NAME, 1, 6) dept_code,
    SUBSTR(hpah.ASSIGNMENT_ORGANIZATION_NAME, 7, LENGTH(hpah.ASSIGNMENT_ORGANIZATION_NAME)) dept_title,
    hpah.GRADE_NAME,hpah.LOCATION_NAME,hpah.SUPERVISOR_NAME,
    hpah.PERSON_START_DATE,hpah.ORIGINAL_DATE_OF_HIRE ,
    hpah.SALARY_BASIS,hpah.BUSINESS_GROUP_ID,hpah.ASSIGNMENT_ID,
    decode( hpah.SALARY_BASIS, 'ANNUAL', ppp.proposed_salary_n,
    'HOURLY', (ppp.proposed_salary_n *2080),
    ppp.proposed_salary_n
    ) salary,
    sysdate run_date
    from
    hrfg_person_assignment_history hpah ,
    per_pay_proposals ppp,
    per_pay_bases ppb,
    per_grades pg,
    per_jobs pj
    where hpah.ASSIGNMENT_ID = ppp.ASSIGNMENT_ID
    and hpah.SALARY_BASIS = ppb.PAY_BASIS
    and hpah.BUSINESS_GROUP_ID = ppb.BUSINESS_GROUP_ID
    and hpah.GRADE_ID = pg.GRADE_ID(+)
    and hpah.JOB_ID = pj.JOB_ID (+)
    --and   hpah.EMPLOYEE_NUMBER = 100779
    and hpah.PERSON_START_DATE IN
    (SELECT MAX(hpah2.PERSON_START_DATE)
    FROM hrfg_person_assignment_history hpah2
    WHERE hpah2.EMPLOYEE_NUMBER = hpah.EMPLOYEE_NUMBER
    AND hpah2.PERSON_START_DATE <= sysdate )
    order by hpah.EMPLOYEE_NUMBER
    i need to have sysdate as parameter in my report. I want data based on the date i provide.
    how can i make this as an parameter?

    Hi Prashant,
    Subqueries are not Supported in Conditions..As of Disco Plus Rel 10.1.2.54.25
    A plausible workaround can be:
    1. Create a View with foll. Query
    create or replace view TEST_VIEW as
    select hpah.EMPLOYEE_NUMBER emp_no,hpah.FIRST_NAME,hpah.LAST_NAME,hpah.PERSON_NAME,
    --hpah.JOB_NAME,hpah.ASSIGNMENT_ORGANIZATION_NAME,
    hpah.ASSIGNMENT_TYPE,hpah.USER_ASSIGNMENT_STATUS,
    SUBSTR(pj.name, 1, instr(pj.name, '.', 1, 2) -1) job_code,
    SUBSTR(pj.name, instr(pj.name, '.', 1, 2) + 1) job_title,
    (select haou.ATTRIBUTE1 from hr_all_organization_units haou
    where haou.ORGANIZATION_ID = hpah.ASSIGNMENT_ORGANIZATION_ID ) Function,
    (select haou.ATTRIBUTE2 from hr_all_organization_units haou
    where haou.ORGANIZATION_ID = hpah.ASSIGNMENT_ORGANIZATION_ID ) org_desc,
    SUBSTR(hpah.ASSIGNMENT_ORGANIZATION_NAME, 1, 6) dept_code,
    SUBSTR(hpah.ASSIGNMENT_ORGANIZATION_NAME, 7, LENGTH(hpah.ASSIGNMENT_ORGANIZATION_NAME)) dept_title,
    hpah.GRADE_NAME,hpah.LOCATION_NAME,hpah.SUPERVISOR_NAME,
    hpah.PERSON_START_DATE,hpah.ORIGINAL_DATE_OF_HIRE ,
    hpah.SALARY_BASIS,hpah.BUSINESS_GROUP_ID,hpah.ASSIGNMENT_ID,
    decode( hpah.SALARY_BASIS, 'ANNUAL', ppp.proposed_salary_n,
    'HOURLY', (ppp.proposed_salary_n *2080),
    ppp.proposed_salary_n
    ) salary,
    sysdate run_date
    from
    hrfg_person_assignment_history hpah ,
    per_pay_proposals ppp,
    per_pay_bases ppb,
    per_grades pg,
    per_jobs pj
    where hpah.ASSIGNMENT_ID = ppp.ASSIGNMENT_ID
    and hpah.SALARY_BASIS = ppb.PAY_BASIS
    and hpah.BUSINESS_GROUP_ID = ppb.BUSINESS_GROUP_ID
    and hpah.GRADE_ID = pg.GRADE_ID(+)
    and hpah.JOB_ID = pj.JOB_ID (+)
    --and hpah.EMPLOYEE_NUMBER = 100779
    order by hpah.EMPLOYEE_NUMBER
    2. Create another table say TEST_TAB
    create table TEST_TAB (emp_no, start_dt) as
    SELECT hpah2.EMPLOYEE_NUMBER , MAX(hpah2.PERSON_START_DATE) PERSON_START_DATE
    FROM hrfg_person_assignment_history hpah2
    GROUP BY hpah2.EMPLOYEE_NUMBER
    3. Add both of them in Disco Admin and create a join between TEST_VIEW.emp_no and TEST_TAB.emp_no
    4. Bring both these Objects in a new report in Disco Plus
    5. Create a New Parameter (Base it on PERSON_START_DATE Col of TEST_TAB)
    6. Choose Option Create Condition with operator <=
    7. Checkmark "Require User to Enter a Value
    8. Execute Report
    I believe this should work. Either ways let me know if it helps or u get another workaround. (This scenario looks quite interesting)
    Thanks,
    Chinmay

  • BW:Inventory stock Report issue based on Vendor and PO number

    Dear Guru's.
    Requirement is to report different inventory  stock's (Total Stock, blocked stock, stock in transit..etc) based on plant, material, storage location, vendor and purchase order in BW.
    For Example:
    Plant
    material
    Stock in Transit
    Total Stock
    1000
    50000001
    0,00
    100kg
    1000
    50000002
    500kg
    600kg
    If we drag the Vendor or Purchase Order Number into the report, Data gets Splitted into +ve (Inflow) and -Ve(Outflow) values.
    For Example:
    Plant
    material
    Vendor
    Purchase Order
    Stock in Transit
    Total Stock
    1000
    50000001
    54545
    567896
    +300 kg
    +400kg
    1000
    50000001
    -300kg
    -300kg
    1000
    50000002
    54549
    567899
    +900kg
    +800kg
    1000
    50000002
    -400kg
    -200kg
    I Think this is because no vendor assigned to outflow data. this is my guess i don't have much knowledge on MM. i have tried to restrict the keyfig's with stock category, but for most of the vendors or PO 's its unassigned.
    But we need the data in single as follows. can any one suggest me any steps to achieve this in BI or BO.
    Plant
    material
    Vendor
    Purchase Order
    Stock in Transit
    Total Stock
    1000
    50000001
    54545
    567896
    0,00
    100 kg
    1000
    50000002
    54549
    567899
    500 kg
    600kg
    Thanks in Advance,
    Dev

    Hi Sheshu and hi Srinu
    Already tried constant selection but it did not helped, the same keyfigure value is displayed in all the rows.
    that means the total stock value is repeated for all the vendors for a particular material.
    For example:
    Plant
    material
    Vendor
    Purchase Order
    Stock in Transit
    Total Stock
    1000
    50000001
    54545
    567896
    0,00 kg
    +400kg
    1000
    50000001
    54546
    567898
    0,00 kg
    400kg
    1000
    50000001
    0,00 kg
    400kg
    1000
    50000002
    54549
    567899
    +900kg
    +800kg
    1000
    50000002
    + 900 kg
    + 800 kg
    Regarding the BO settings, i need to try it.
    Any more suggestions will be much more helpful.
    Thanks and Regards, Sri

  • MRP - Auto creation of del schedule lines based on planned delivery time

    Hi,
    We have activated MRP (type PD) where Purchase requiesition is auto created by system for requirement quantity. We require to optimize delivery schedule in such a way that entire PR quantity is broken into various delivery schedule based on planned delivery time and requirement.  Scenario can be further explained with following example.
    Material Requirement for a month is say 1,25,000 units
    Closing Stock say 25,000 units
    PR Generated by system for 1,00,000 units. The entire quantity is schdulled with only one delivery schedule line as per planned delivery time. 
    The requirement is to generate multiple delivery schedule lines automatically in Purchase requisition based on planned delivery time so that Purchase orders can be placed with system generated delivery schedule lines.
    How can it be achieved ?
    Regards,
    Nirav Kinkhabwala

    Nirav,
    This subject has been discussed repeatedly in this and other forums.  I must assume that you overlooked the rules of engagement, which state that you should first search the forums and other public sites, before posting questions here.
    Standard SAP MRP cannot be made to generate multiple items in a Purchase requisition.  The functionality you seek is usually achieved when converting purchase reqs to Purchase orders, where many single purchase reqs can be adopted into a single Purchase order.
    You also might want to investigate use of Vendor Scheduling agreements.
    Best Regards,
    DB49

  • How can I pubish SWF interactive magazine to flash based website? It's not working!

    I hope someone can help me launch my first interactive magazine (SWF) to our website with ID 5. Okay, my hard copy mag came out great so then I started on the interactive edition. Everything was going swell with adding 3 short videos ( FLV  ) and creating 3 slide shows. When I previewed it by exporting to SWF I could preview it in my browser fine. Page curls, fade in words (although the “hide until animated” options only works in two out of about 7 instances. (same settings) file:///C:/Users/lauralaptop/Documents/NEW%20PUBLICATION%20QUARTERLY%20JOURNAL%202011%20se pt%202/LIFE%20apr-may-june%202011%201st%20issue%20INTERACTIVE%20TRYOUT%20Aug%2031%204pm.ht ml
    I then followed instructions from another Adobe exercise, exported it to Flash, went to Publish Settings, but of course when I pressed “publish” I didn’t get the same result as the teacher…I got an error message about text. I searched a forum with the same message I got and saw that making sure my text setting was set for Classic, solved someone else’s problem. So I did and was able to “publish”. But now, when I open either the SWF or HTML file, it’ just rapidly repeating the 12 pages in my file in a loop!
    file:///C:/Users/lauralaptop/Desktop/LIFE%20apr-may-june%202011%201st%20issue%20INTERACTIV E%20TRYOUT%20Aug%2031%204pm.html
    I have spent most of the summer self teaching myself InDesign CS5 (not easy!) and am excited to be able to put out an interactive SWF file that can be opened in a Flash player through our Flash based website. I feel like I’m just inches away for launch but now I’m getting frustrated. Isn’t this going to be possible?
    Also, when I publish it in Flash, it creates a SWF file AND an HTML file. But on our website, I have only one option to make a link to a document OR an outside link to open a file. How does that work?
    Many thanks for whoever can help me out here. This was supposed to be a spring issue. Had to change it to summer and now I guess it’s a fall launch!

    Thank you for your quick reply, Rob. Well, i can't open the link you gave me to mysite (got a 404 error), could you resend it?
    Originally, I exported the file to SWF (player) and just tried to link that file from our flash based website. It opens fine, page curls fine, slide shows fine, but when you click on the photos with videos, page 5 (father and baby) and two others, the image disappears and only a white comes up to fill that area.
    http://scpres.org/#/media-sermons-online/our-publications. Could you go to this link on our website to see what I mean? Go to the NEWSBREAK TRANSFORMS and click on the Life, Stories of Transformation.
    Rob, here is where i have very limited knowledge: As I said we use a flash based (read very user friendly) web hosting company. When I am in the back end to upload the swf file, I have only one option  - "attach a video, attach a document, attach a link" so how would I upload a "folder" with more than one item to the server?
    I thought it would be considered a video since the SWF file says SWF movie, but when I when i try to upload as a video, it doesn't come up as importable. (am i sounding really stupid?) Maybe I should admit that yes, I'm an ID5 newbie AND yes,  I'm no spring chicken but I have been working in CS2,3,4 for several years and now 5 and am quite proficient in the create aspect of Adobe products. It's just now the technical part about how to actually get my  in work published to the site.There isn't anyone else in my company able to help me so I have to reach out to this forum!
    I love ID and this is just my first effort but I'm looking forward to creating many more interactive magazines for my company.
    Thanks for any help.

  • How to create a report based on a DataSet programatically

    I'm working on a CR 2008 Add-in.
    Usage of this add-in is: Let the user choose from a list of predefined datasets, and create a totally empty report with this dataset attached to is. So the user can create a report based on this dataset.
    I have a dataset in memory, and want to create a new report in cr2008.
    The new report is a blank report (with no connection information).
    If I set the ReportDocument.SetDataSource(Dataset dataSet) property, I get the error:
    The report has no tables.
    So I must programmatically define the table definition in my blank report.
    I found the following article: https://boc.sdn.sap.com/node/869, and came up with something like this:
    internal class NewReportWorker : Worker
          public NewReportWorker(string reportFileName)
             : base(reportFileName)
    public override void Process()
             DatabaseController databaseController = ClientDoc.DatabaseController;
             Table table = new Table();
             string tabelName = "Table140";
             table.Name = tabelName;
             table.Alias = tabelName;
             table.QualifiedName = tabelName;
             table.Description = tabelName;
             var fields = new Fields();
             var dbField = new DBField();
             var fieldName = "ID";
             dbField.Description = fieldName;
             dbField.HeadingText = fieldName;
             dbField.Name = fieldName;
             dbField.Type = CrFieldValueTypeEnum.crFieldValueTypeInt64sField;
             fields.Add(dbField);
             dbField = new DBField();
             fieldName = "IDLEGITIMATIEBEWIJS";
             dbField.Description = fieldName;
             dbField.HeadingText = fieldName;
             dbField.Name = fieldName;
             dbField.Type = CrFieldValueTypeEnum.crFieldValueTypeInt64sField;
             fields.Add(dbField);
             // More code for more tables to add.
             table.DataFields = fields;
             //CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo info =
             //   new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();
             //info.Attributes.Add("Databse DLL", "xxx.dll");
             //table.ConnectionInfo = info;
             // Here an error occurs.
             databaseController.AddTable(table, null);
             ReportDoc.SetDataSource( [MyFilledDataSet] );
             //object path = @"d:\logfiles\";
             //ClientDoc.SaveAs("test.rpt", ref path, 0);
    The object ClientDoc referes to a ISCDReportClientDocument in a base class:
       internal abstract class Worker
          private ReportDocument _ReportDoc;
          private ISCDReportClientDocument _ClientDoc;
          private string _ReportFileName;
          public Worker(string reportFileName)
             _ReportFileName = reportFileName;
             _ReportDoc = new ReportDocument();
             // Load the report from file path passed by the designer.
             _ReportDoc.Load(reportFileName);
             // Create a RAS Document through In-Proc RAS through the RPTDoc.
             _ClientDoc = _ReportDoc.ReportClientDocument;
          public string ReportFileName
             get
                return _ReportFileName;
          public ReportDocument ReportDoc
             get
                return _ReportDoc;
          public ISCDReportClientDocument ClientDoc
             get
                return _ClientDoc;
    But I get an "Unspecified error" on the line databaseController.AddTable(table, null);
    What am i doing wrong? Or is there another way to create a new report based on a DataSet in C# code?

    Hi,
    Have a look at the snippet code below written for version 9 that you might accommodate to CR 2008, it demonstrates how to create a report based on a DataSet programmatically.
    //=========================================================================
    +           * the following two string values can be modified to reflect your system+
    +          ************************************************************************************************/+
    +          string mdb_path = "C:
    program files
    crystal decisions
    crystal reports 9
    samples
    en
    databases
    xtreme.mdb";    // path to xtreme.mdb file+
    +          string xsd_path = "C:
    Crystal
    rasnet
    ras9_csharp_win_datasetreport
    customer.xsd";  // path to customer schema file+
    +          // Dataset+
    +          OleDbConnection m_connection;                         // ado.net connection+
    +          OleDbDataAdapter m_adapter;                              // ado.net adapter+
    +          System.Data.DataSet m_dataset;                         // ado.net dataset+
    +          // CR variables+
    +          ReportClientDocument m_crReportDocument;          // report client document+
    +          Field m_crFieldCustomer;+
    +          Field m_crFieldCountry;+
    +          void CreateData()+
    +          {+
    +               // Create OLEDB connection+
    +               m_connection = new OleDbConnection();+
    +               m_connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdb_path;+
    +               // Create Data Adapter+
    +               m_adapter = new OleDbDataAdapter("select * from Customer where Country='Canada'", m_connection);+
    +               // create dataset and fill+
    +               m_dataset = new System.Data.DataSet();+
    +               m_adapter.Fill(m_dataset, "Customer");+
    +               // create a schema file+
    +               m_dataset.WriteXmlSchema(xsd_path);+
    +          }+
    +          // Adds a DataSource using dataset. Since this does not require intermediate schema file, this method+
    +          // will work in a distributed environment where you have IIS box on server A and RAS Server on server B.+
    +          void AddDataSourceUsingDataSet(+
    +               ReportClientDocument rcDoc,          // report client document+
    +               System.Data.DataSet data)          // dataset+
    +          {+
    +               // add a datasource+
    +               DataSetConverter.AddDataSource(rcDoc, data);+
    +          }+
    +          // Adds a DataSource using a physical schema file. This method require you to have schema file in RAS Server+
    +          // box (NOT ON SDK BOX). In distributed environment where you have IIS on server A and RAS on server B,+
    +          // and you execute CreateData above, schema file is created in IIS box, and this method will fail, because+
    +          // RAS server cannot see that schema file on its local machine. In such environment, you must use method+
    +          // above.+
    +          void AddDataSourceUsingSchemaFile(+
    +               ReportClientDocument rcDoc,          // report client document+
    +               string schema_file_name,          // xml schema file location+
    +               string table_name,                    // table to be added+
    +               System.Data.DataSet data)          // dataset+
    +          {+
    +               PropertyBag crLogonInfo;               // logon info+
    +               PropertyBag crAttributes;               // logon attributes+
    +               ConnectionInfo crConnectionInfo;     // connection info+
    +               CrystalDecisions.ReportAppServer.DataDefModel.Table crTable;+
    +               // database table+
    +               // create logon property+
    +               crLogonInfo = new PropertyBag();+
    +               crLogonInfo["XML File Path"] = schema_file_name;+
    +               // create logon attributes+
    +               crAttributes = new PropertyBag();+
    +               crAttributes["Database DLL"] = "crdb_adoplus.dll";+
    +               crAttributes["QE_DatabaseType"] = "ADO.NET (XML)";+
    +               crAttributes["QE_ServerDescription"] = "NewDataSet";+
    +               crAttributes["QE_SQLDB"] = true;+
    +               crAttributes["QE_LogonProperties"] = crLogonInfo;+
    +               // create connection info+
    +               crConnectionInfo = new ConnectionInfo();+
    +               crConnectionInfo.Kind = CrConnectionInfoKindEnum.crConnectionInfoKindCRQE;+
    +               crConnectionInfo.Attributes = crAttributes;+
    +               // create a table+
    +               crTable = new CrystalDecisions.ReportAppServer.DataDefModel.Table();+
    +               crTable.ConnectionInfo = crConnectionInfo;+
    +               crTable.Name = table_name;+
    +               crTable.Alias = table_name;+
    +               // add a table+
    +               rcDoc.DatabaseController.AddTable(crTable, null);+
    +               // pass dataset+
    +               rcDoc.DatabaseController.SetDataSource(DataSetConverter.Convert(data), table_name, table_name);+
    +          }+
    +          void CreateReport()+
    +          {+
    +               int iField;+
    +               // create ado.net dataset+
    +               CreateData();+
    +               // create report client document+
    +               m_crReportDocument = new ReportClientDocument();+
    +               m_crReportDocument.ReportAppServer = "127.0.0.1";+
    +               // new report document+
    +               m_crReportDocument.New();+
    +               // add a datasource using a schema file+
    +               // note that if you have distributed environment, you should use AddDataSourceUsingDataSet method instead.+
    +               // for more information, refer to comments on these methods.+
    +               AddDataSourceUsingSchemaFile(m_crReportDocument, xsd_path, "Customer", m_dataset);+
    +                              +
    +               // get Customer Name and Country fields+
    +               iField = m_crReportDocument.Database.Tables[0].DataFields.Find("Customer Name", CrFieldDisplayNameTypeEnum.crFieldDisplayNameName, CeLocale.ceLocaleUserDefault);+
    +               m_crFieldCustomer = (Field)m_crReportDocument.Database.Tables[0].DataFields[iField];+
    +               iField = m_crReportDocument.Database.Tables[0].DataFields.Find("Country", CrFieldDisplayNameTypeEnum.crFieldDisplayNameName, CeLocale.ceLocaleUserDefault);+
    +               m_crFieldCountry = (Field)m_crReportDocument.Database.Tables[0].DataFields[iField];+
    +               // add Customer Name and Country fields+
    +               m_crReportDocument.DataDefController.ResultFieldController.Add(-1, m_crFieldCustomer);+
    +               m_crReportDocument.DataDefController.ResultFieldController.Add(-1, m_crFieldCountry);+
    +               // view report+
    +               crystalReportViewer1.ReportSource = m_crReportDocument;+
    +          }+
    +          public Form1()+
    +          {+
    +               //+
    +               // Required for Windows Form Designer support+
    +               //+
    +               InitializeComponent();+
    +               // Create Report+
    +               CreateReport();+
    +               //+
    +               // TODO: Add any constructor code after InitializeComponent call+
    +               //+
    +          }+//=========================================================================

  • Training and Event Management Implementation based on competencies

    Dear Friends,
    My client is going ahead for Training and Event Managment Implementation. They have a basic requirement to start with and that is :
    1) They have done competency mapping for all its employees and they want that the competencies of each employees(along with the skill levels) to be recorded in the system and that has to be the starting point of using Training and Event Management module.
    2) They want, if the competencies can flow based on Job/ Position.
    3) Some identifier to the competencies, whther it has flowed from Appraisal or any other sources in the Final Training Needs.
    Kindly provide me help, as to how I will be able to achieve that and in what Infotypes the data pertaining to Training and Event Managment will be stored.
    If u all can kindly share with me the User Manuals and Configuration Docs of Training and Event Management, it will be of great help.
    Thank you all.

    Hi,
    Competencies can be stored as qualifications in PD and then by activation of PD PA intergration can be seen from pa30 infotype 24.
    Qualifications can be stored against a Job/Position and are called as the Requirements. They are seen as a separate Tab and to which ever position the person is linked to the corresponding qualifications of the position will appear in the requirements tab.
    You can maintain the proficiency and a note along with the qualification when assigned to a person.
    Also Appraisals can have qualifications in the template rather than criteria and criteria groups.
    Also after training is completed during the follow up we can create an appraisal and transfer the qualifications or simply transfer the qualifications to the employee.
    Regards,
    Divya

  • How to build the members in essbase based on levels using EAL

    Hi All,
    How to restrict the members to build the in essbase based on levels using EAL.
    I've requirement, in one dimension, needs to build the one level1 member as level0 in essbase.
    please let me know the procedure, if any one implemented or face similar.
    Thanks in advance,
    Kiran

    there's no such functionality in EAL to create Essbase outlines based on levels. the only workaround to this is to use Mapping tables:
    1- create the dimension in essbase with the desired HFM level 1 members as level 0.
    2- set this specific dimension to mapping in your design grid within your EAL Bridge
    3- create the SQL Mapping table and start mapping those members from HFM to Essbase.
    Tanios

  • How can I convert an outlook pst file to mac mail without using a windows based computer

    I recently bought the new iMac as my older Windows based computer crashed with a bad motherboard.  I have been trying to find a way to convert Outlook 2007 pst files to Mac Mail without the need to use a Windows based computer since all I have now is a Mac.  I have the copies of the pst files on my Mac, so I am looking for the most efficient way to convert them to the format that I can then open them in the Mac Mail.  Any suggestions would be greatly appreciated.

    Hi - thanks for the instructions but where do you get the option for Quicktime. If I do File - Export I only get the options for File name, place and size but no option that allows to select quicktime:-(
    Have you got any more tips?

  • Is there a way to create a collection based on the "previous import"?

    is there a way to create a collection based on the "previous import"? that would make it easy to mobile sync the last import to my ipad, and do further picking/rejecting while away from my laptop.

    well, yes, of course i could do it that way. i guess i wasn't specific enough. is there a way to create a smart collection, with the photos in the "previous import" as members of the smart collection.  earlier i mentioned about using this smart collection to mobile sync with my ipad, to do further flagging.
    so my intention, use a smart collection to mobile sync with my ipad, and the smart collection to include the photos from my previous import.
    i guess another way to ask the question, is there a way to create a smart collection, by using some rule or condition in the smart collection, to automatically include previous import photos.
    the documentation says that "previous import" is a collection, even though it shows up in the catalogue side bar section. but i see no way to choose that collection when making a smart collection.
    jd

Maybe you are looking for