Validation errors for the fields in FldNameinfo were reported back as ‘FLD_NAMEINFO Not Found’ (Doc ID 785677.1)

Last updated on AUGUST 04, 2017

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.3.1.0.0 and later
Information in this document applies to any platform.
Checked for relevance on 4-Apr-2013.
Checked for relevance on 2-Oct-2014.
Checked for relevance on 2-Mar-2016.
Checked for relevance on 4-Aug-2017.

Goal

The user was trying with a simple PCM Java program that creates a customer using CUST_CREATE_CUSTOMER, include invalid values for the fields like "Salutation", "Country", "State", "Zip", "Phone". There were errors in the cm.pinlog.

The sample PCM Java program:

import java.io.IOException;
import java.util.List;
import java.util.ArrayList;
import java.util.Properties;
import java.util.Enumeration;
import java.util.Vector;

import com.portal.pcm.ErrorLog;
import com.portal.pcm.FList;
import com.portal.pcm.Poid;
import com.portal.pcm.PortalContext;
import com.portal.pcm.EBufException;
import com.portal.pcm.PortalEnums;
import com.portal.pcm.PortalOp;
import com.portal.pcm.SparseArray;
import com.portal.pcm.fields.*;


public class ValidationErrorNotReturned {

/* MODIFY FOR YOUR ENVIRONMENT **********************************/
private static final String HOSTNAME = "xxx.xx.xx.xxx";
private static final String LOGIN = "root.0.0.0.1";
private static final String PASSWORD = "password";
private static final String PORT        =   "99999";
/****************************************************************/

private ErrorLog  fLog = null;
private long fDatabaseNumber;

public void createAccount(PortalContext ctx, FList cai) throws EBufException {
// TODO Auto-generated method stub
ctx = createContextUsingProperties();
System.out.println("INPUT FList--->");
cai.dump();
FList outList = ctx.opcode(PortalOp.CUST_CREATE_CUSTOMER, 0, cai);

System.out.println("OUTPUT FList--->");
outList.dump();
}

   /**************************************************************
    * Create a PortalContext object with settings defined
    * in java.util.Properties object passed in.
    **************************************************************/
   private PortalContext createContextUsingProperties() throws EBufException {
   ...
   ...
   return ctx;
   }

   /****************************************************************
    * Retrieve from server list of plans that have been configured 
    * using /group/plan_list object for specified owner using
    * PCM_OP_CUST_POL_GET_PLANS opcode.
    * 
    * @param  planListOwner Plan list owner
    * @return Vector of plans that have a name
    ****************************************************************/
    protected FList getAPlan(PortalContext ctx) throws EBufException, IOException {
    ...
    ...
    }

private FList getCustomerAccountInfo(PortalContext ctx)throws EBufException, IOException{
FList ai = new FList();
ai.set(FldPoid.getInst(), new Poid(1, -1, "/account"));
ai.set(FldAccountNo.getInst(), "");
ai.set(FldCurrency.getInst(), 840);
ai.set(FldCurrencySecondary.getInst(), 240);
ai.set(FldAacAccess.getInst(), "aacAccess");

FList pi1 = new FList();
pi1.set(FldType.getInst(), 2);
pi1.set(FldPhone.getInst(), "609-123-4567"); 
FList pi2 = new FList();
pi2.set(FldType.getInst(), 1);
pi2.set(FldPhone.getInst(), "732-123-4567");

// Create a new FList to hold bill info information
// Since we're using INVOICE bill type, we also need
// to add PAYINFO array; see the addInvoicePayinfo() method
FList billInfo = new FList();
billInfo.set( FldPayType.getInst(), PortalEnums.PinPayType.INVOICE );

// Create a new FList to hold nameinfo information
FList ni = new FList();
ni.set(FldSalutation.getInst(), "Mr.");
ni.set(FldLastName.getInst(), "lastName");
ni.set(FldFirstName.getInst(), "firstName");
ni.set(FldMiddleName.getInst(), "middleName");
ni.set(FldTitle.getInst(), "title");
ni.set(FldCompany.getInst(), "company");
ni.set(FldAddress.getInst(), "address");
ni.set(FldCity.getInst(), "city");
ni.set(FldState.getInst(), "NJ");
ni.set(FldZip.getInst(), "zip");
ni.set(FldCountry.getInst(), "US");
ni.set(FldEmailAddr.getInst(), "emailAddress");
ni.set(FldContactType.getInst(), "contactType");
ni.setElement(FldPhones.getInst(),1,pi1);
ni.setElement(FldPhones.getInst(),2,pi2);

FList li = new FList();
li.set(FldLocale.getInst(),"en_US");

FList gi = new FList();
gi.set(FldParent.getInst(), new Poid(1, 1, "/group"));
gi.set(FldFlags.getInst(), 2);

FList cai = new FList();  
cai.set(FldPoid.getInst(),new Poid(1, -1, "/account"));
cai.set( FldProgramName.getInst(), "create account" );
cai.setElement(FldAcctinfo.getInst(), 0, ai);
cai.setElement(FldNameinfo.getInst(), 0, ni);
cai.set(FldGroupInfo.getInst(), gi);
cai.setElement(FldLocales.getInst(), 0, li);
return cai;
}
/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub

ValidationErrorNotReturned jsb = new ValidationErrorNotReturned();
PortalContext ctx = null;
try {
ctx = jsb.createContextUsingProperties();
FList cai = jsb.getCustomerAccountInfo(ctx);
jsb.createAccount(ctx, cai);

// close the connection
ctx.close(true);
System.out.println("PCM connection closed."); 

} catch (Exception e) {
if (ctx != null) {
try {
ctx.close(true);
} catch (EBufException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("PCM connection closed.");
}
System.out.println("Cause Exception :------------>");
e.printStackTrace(); 
} 
}

}


The errors in cm.pinlog

W Wed Feb 11 14:20:24 2009  sbkcomwad01  cm:18251  cm_utils.c(118):1625 1:<machine>:<program>:0:0:0:0:0
DDD CM cm_pre_pcm_op: PCM_OP_CUST_POL_VALID_ACCTINFO returned err=0(PIN_ERR_NONE)
W Wed Feb 11 14:20:24 2009  sbkcomwad01  cm:18251  cm_utils.c(118):1683 1:<machine>:<program>:0:0:0:0:0
    CM DM->FM opcode PCM_OP_CUST_POL_VALID_ACCTINFO, opflags=0x1200000
# number of field entries allocated 20, used 3
0 PIN_FLD_POID           POID [0] 0.0.0.1 /account -1 0
0 PIN_FLD_RESULT         ENUM [0] 0
0 PIN_FLD_FIELD         ARRAY [0] allocated 20, used 3
1     PIN_FLD_FIELD_NUM      ENUM [0] 16778832
1     PIN_FLD_RESULT         ENUM [0] 6
1     PIN_FLD_CURRENCY_SECONDARY    INT [0] 240
E Wed Feb 11 14:20:24 2009  sbkcomwad01  cm:18251  fm_cust_acctinfo.cpp:363 1:<machine>:<program>:0:0:0:0:0
fm_cust_acctinfo_build error
<location=PIN_ERRLOC_FM:5 class=PIN_ERRCLASS_SYSTEM_DETERMINATE:1 errno=PIN_ERR_BAD_VALUE:46>
<field num=0:0,0 recid=0 reserved=0 reserved2=0 time(sec:usec)=0:0>
<facility=0 msg_id=0 version=0>
W Wed Feb 11 14:20:24 2009  sbkcomwad01  cm:18251  cm_utils.c(118):1625 1:<machine>:<program>:0:0:0:0:0
DDD CM cm_pre_pcm_op: PCM_OP_CUST_SET_ACCTINFO returned err=46(PIN_ERR_BAD_VALUE)
E Wed Feb 11 14:20:24 2009  sbkcomwad01  cm:18251  fm_cust_create_acct.c:604 1:<machine>:<program>:0:0:0:0:0
fm_cust_create_initacct error
<location=PIN_ERRLOC_FM:5 class=PIN_ERRCLASS_SYSTEM_DETERMINATE:1 errno=PIN_ERR_BAD_VALUE:46>
<field num=0:0,0 recid=0 reserved=0 reserved2=0 time(sec:usec)=0:0>
<facility=0 msg_id=0 version=0>
E Wed Feb 11 14:20:24 2009  sbkcomwad01  cm:18251  fm_cust_create_acct.c:311 1:<machine>:<program>:0:0:0:0:0
error: init account failed
<location=PIN_ERRLOC_FM:5 class=PIN_ERRCLASS_SYSTEM_DETERMINATE:1 errno=PIN_ERR_BAD_VALUE:46>
<field num=0:0,0 recid=0 reserved=0 reserved2=0 time(sec:usec)=0:0>
<facility=0 msg_id=0 version=0>


and errors in javapcm.log

---------------------------------------------------------------
Creating PCM context using configuration supplied in a Properties object...
Context successfully created.
current DB: 1
user ID:    0.0.0.1 /service/admin_client 2 9
INPUT FList--->
0 PIN_FLD_GROUP_INFO           SUBSTRUCT [0] allocated 2, used 2
1     PIN_FLD_FLAGS                  INT [0] 2
1     PIN_FLD_PARENT                POID [0] 0.0.0.1 /group 1 0
0 PIN_FLD_POID                      POID [0] 0.0.0.1 /account -1 0
0 PIN_FLD_LOCALES                  ARRAY [0] allocated 1, used 1
1     PIN_FLD_LOCALE                 STR [0] "en_US"
0 PIN_FLD_ACCTINFO                 ARRAY [0] allocated 5, used 5
1     PIN_FLD_ACCOUNT_NO             STR [0] ""
1     PIN_FLD_POID                  POID [0] 0.0.0.1 /account -1 0
1     PIN_FLD_CURRENCY_SECONDARY     INT [0] 240
1     PIN_FLD_AAC_ACCESS             STR [0] "aacAccess"
1     PIN_FLD_CURRENCY               INT [0] 840
0 PIN_FLD_PROGRAM_NAME               STR [0] "create account"
0 PIN_FLD_NAMEINFO                 ARRAY [0] allocated 14, used 14
1     PIN_FLD_TITLE                  STR [0] "title"
1     PIN_FLD_LAST_NAME              STR [0] "lastName"
1     PIN_FLD_MIDDLE_NAME            STR [0] "middleName"
1     PIN_FLD_FIRST_NAME             STR [0] "firstName"
1     PIN_FLD_SALUTATION             STR [0] "Mr."
1     PIN_FLD_CONTACT_TYPE           STR [0] "contactType"
1     PIN_FLD_PHONES               ARRAY [1] allocated 2, used 2
2         PIN_FLD_PHONE              STR [0] "609-123-4567"
2         PIN_FLD_TYPE              ENUM [0] 2
1     PIN_FLD_PHONES               ARRAY [2] allocated 2, used 2
2         PIN_FLD_PHONE              STR [0] "732-123-4567"
2         PIN_FLD_TYPE              ENUM [0] 1
1     PIN_FLD_EMAIL_ADDR             STR [0] "emailAddress"
1     PIN_FLD_COUNTRY                STR [0] "US"
1     PIN_FLD_ZIP                    STR [0] "zip"
1     PIN_FLD_STATE                  STR [0] "NJ"
1     PIN_FLD_CITY                   STR [0] "city"
1     PIN_FLD_ADDRESS                STR [0] "address"
1     PIN_FLD_COMPANY                STR [0] "company"

PCM connection closed.
Cause Exception :------------>
DeterminateError - ERR_BAD_VALUE
FList.java:0: ErrBuf Fields:
Error=ERR_BAD_VALUE    Loc=FM
Field=UnknownField0    Rec=0    reserved=0
Facility=0    MessageID=0    Time=7:00 PM    Version=0    Reserved2=0
Args=<none>
Nested Error:
<none>

at com.portal.pcm.FList.readError(Unknown Source)
at com.portal.pcm.FList.createObjectFromStream(Unknown Source)
at com.portal.pcm.FList.loadFromStream(Unknown Source)
at com.portal.pcm.FList.createFromStream(Unknown Source)
at com.portal.pcm.PCPClientOperation.receive(Unknown Source)
at com.portal.pcm.PCPClientOperation.execute(Unknown Source)
at com.portal.pcm.PCPContext.op(Unknown Source)
at com.portal.pcm.PortalContext.opcode(Unknown Source)
at ValidationErrorNotReturned.createAccount(ValidationErrorNotReturned.java:36)
at ValidationErrorNotReturned.main(ValidationErrorNotReturned.java:190)

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms