Data Cart

Your data extract

0 variables
0 samples
View Cart
CLASSWK
Status in employment (class of worker)

Codes and Frequencies




Loading Frequency Data...

Can't find the category you are looking for? Try the Detailed codes

Explore how IPUMS created this variable

Download


      class Classwk : public Editor {

public:
  Classwk(VarPointer varInfo) : Editor(varInfo) {}
  void edit() {

    long a = getRecoded();
    switch (dataSet) {
    case dataset_id::pa1990a:
      if (PA1990A_0403() > 0 && PA1990A_0431() == 5)
        a = 251;
      break;
    case dataset_id::at1971a: {
      if (AT1971A_0416() == 3)
        a = 0;
    } break;
    case dataset_id::at1981a: {
      if (AT1981A_0416() == 3)
        a = 0;
    } break;
    case dataset_id::at1991a: {
      if (AT1991A_0421() == 2)
        a = 0;
    } break;
    case dataset_id::at2001a: {
      if (AT2001A_0422() == 3)
        a = 0;
    } break;
    case dataset_id::it2001a: {
      if (IT2001A_0446() >= 2 && IT2001A_0446() <= 4 && IT2001A_0447() == 1)
        a = 110;
    } break;
    case dataset_id::am2001a: {
      int first = 1;
      if (AM2001A_0430() == 7) {
        for (int i = 1; i < PERNUM(); i++) {
          if (AM2001A_0430(i) == 7)
            first = 0;
        }
        if (first)
          a = 310;
      }
    } break;
    case dataset_id::de1971a: {
      if (DE1971A_0431() == 2)
        a = 0;
    } break;
    case dataset_id::de1981a: {
      if (DE1981A_0430() == 0)
        a = 0;
    } break;
    case dataset_id::uy1963a: {
      if (UY1963A_0425() == 3 && UY1963A_0424() == 1)
        a = 224;
      if (UY1963A_0425() == 4 && UY1963A_0424() == 1)
        a = 225;
      if (UY1963A_0425() == 3 && UY1963A_0424() == 2)
        a = 214;
      if (UY1963A_0425() == 4 && UY1963A_0424() == 2)
        a = 215;
    } break;
    case dataset_id::et1984a: {
      if ((ET1984A_0417() < 1 || ET1984A_0417() > 7) && ET1984A_0430() != 1)
        a = 0;
    } break;
    case dataset_id::pl1978a: {
      if (PL1978A_0415() == 4 || PL1978A_0415() == 5 || PL1978A_0415() == 7 ||
          PL1978A_0415() == 8)
        a = 0;
    } break;
    case dataset_id::pl1988a: {
      if (PL1988A_0409() == 4 || PL1988A_0409() == 5 || PL1988A_0409() == 7 ||
          PL1988A_0409() == 8 || PL1988A_0422() == 4)
        a = 0;
    } break;
    case dataset_id::ca1891a: {
      if (CA1891A_0428() == 2 && CA1891A_0429() == 1)
        a = 200;
      if (CA1891A_0428() == 2 && CA1891A_0450() >= 980)
        a = 0;
    } break;
    case dataset_id::ca1911a: {
      if (a == 999 && CA1911A_0440() >= 980)
        a = 0;
    } break;
    case dataset_id::uk1911a: {
      if (a == 999 && UK1911A_0434() >= 99998)
        a = 0;
    } break;
    case dataset_id::uk1891a: {
      if (a == 999 && UK1891A_0417() >= 99998)
        a = 0;
    } break;
    case dataset_id::uk1891b: {
      if (a == 999 && UK1891B_0417() >= 99998)
        a = 0;
    } break;
    case dataset_id::uk1901a: {
      if (a == 999 && UK1901A_0417() >= 99998)
        a = 0;
    } break;
    case dataset_id::uk1901b: {
      if (a == 999 && UK1901B_0417() >= 99998)
        a = 0;
    } break;
    case dataset_id::it2011a: {
      if (IT2011A_0448() == 1)
        a = 110;
    } break;
    case dataset_id::it2011h:
    case dataset_id::it2012h:
    case dataset_id::it2013h:
    case dataset_id::it2014h:
    case dataset_id::it2015h:
    case dataset_id::it2016h:
    case dataset_id::it2017h:
    case dataset_id::it2018h:
    case dataset_id::it2019h:
    case dataset_id::it2020h: {
      long selfemp = valueFromFirstAvailable(
          {IT2011H_0428_ref, IT2012H_0428_ref, IT2013H_0428_ref,
           IT2014H_0428_ref, IT2015H_0428_ref, IT2016H_0428_ref,
           IT2017H_0428_ref, IT2018H_0428_ref, IT2019H_0428_ref,
           IT2020H_0428_ref});
      long employer = valueFromFirstAvailable(
          {IT2011H_0434_ref, IT2012H_0434_ref, IT2013H_0434_ref,
           IT2014H_0434_ref, IT2015H_0434_ref, IT2016H_0434_ref,
           IT2017H_0434_ref, IT2018H_0434_ref, IT2019H_0434_ref,
           IT2020H_0434_ref});
      if (selfemp >= 4 && selfemp <= 6 && employer == 1) {
        a = 110;
      }
    } break;
    }

    setData(a);
  }
};